Structurally restricted message-passing within shallow architectures for explainable network-level brain decoding on small cohorts
Paper
Loaded from Europe PMC by your browser; OSCR does not store it: doi.org · Europe PMC
The paper is loaded when this pane is shown.
The authors' code
Python · 455 lines · 13 KB · MIT
- #!/usr/bin/env python3
- #
- # SHAP documentation build configuration file, created by
- # sphinx-quickstart on Tue May 22 10:44:55 2018.
- #
- # This file is execfile()d with the current directory set to its
- # containing dir.
- #
- # Note that not all possible configuration values are present in this
- # autogenerated file.
- #
- # All configuration values have a default; values that are commented out
- # serve to show the default.
- # If extensions (or modules to document with autodoc) are in another directory,
- # add these directories to sys.path here. If the directory is relative to the
- # documentation root, use os.path.abspath to make it absolute, like shown here.
- #
- import os
- import shutil
- import sys
- import requests
- print(os.path.abspath("./shap"))
- sys.path.insert(0, os.path.abspath(".."))
- # make copy of notebooks in docs folder, as they must be here for sphinx to
- # pick them up properly.
- NOTEBOOKS_DIR = os.path.abspath("example_notebooks")
- if os.path.exists(NOTEBOOKS_DIR):
- import warnings
- warnings.warn("example_notebooks directory exists, replacing...")
- shutil.rmtree(NOTEBOOKS_DIR)
- shutil.copytree(os.path.abspath("../notebooks"), NOTEBOOKS_DIR)
- if os.path.exists(NOTEBOOKS_DIR + "/local_scratch"):
- shutil.rmtree(NOTEBOOKS_DIR + "/local_scratch")
- # -- General configuration ------------------------------------------------
- # If your documentation needs a minimal Sphinx version, state it here.
- #
- # needs_sphinx = '1.0'
- # Add any Sphinx extension module names here, as strings. They can be
- # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
- # ones.
- extensions = [
- "sphinx.ext.autodoc",
- "sphinx.ext.autosectionlabel",
- "sphinx.ext.autosummary",
- "sphinx.ext.intersphinx",
- "sphinx_rtd_theme",
- "numpydoc",
- "nbsphinx", # Allows parsing Jupyter notebooks
- "myst_parser", # Allows parsing Markdown, such as CONTRIBUTING.md
- "sphinx_github_changelog",
- ]
- # --- Extension options
- # [autodoc]
- autodoc_default_options = {"members": True, "inherited-members": True}
- # [autosectionlabel]
- # Make sure the autogenerated targets are unique
- autosectionlabel_prefix_document = True
- # [autosummary]
- autosummary_generate = True
- # [intersphinx]
- intersphinx_mapping = {
- # "stdlib": ("https://docs.python.org/3", None),
- "mpl": (
- "https://matplotlib.org/stable/",
- "https://matplotlib.org/stable/objects.inv",
- ),
- "scikit-learn": (
- "https://scikit-learn.org/stable/",
- "https://scikit-learn.org/stable/objects.inv",
- ),
- "scipy": ("https://docs.scipy.org/doc/scipy", None),
- }
- # Sphinx defaults to automatically resolve *unresolved* labels using all your Intersphinx mappings.
- # This behavior has unintended side-effects, namely that documentations local references can
- # suddenly resolve to an external location.
- # See also:
- # https://www.sphinx-doc.org/en/master/usage/extensions/intersphinx.html#confval-intersphinx_disabled_reftypes
- intersphinx_disabled_reftypes = ["*"]
- # [numpydoc]
- numpydoc_show_class_members = False
- # ---
- # Do not create toctree entries for each class/function
- toc_object_entries = False
- # Add any paths that contain templates here, relative to this directory.
- templates_path = ["_templates"]
- # The suffix(es) of source filenames.
- # You can specify multiple suffix as a list of string:
- #
- # source_suffix = ['.rst', '.md']
- source_suffix = ".rst"
- # The encoding of source files.
- #
- # source_encoding = 'utf-8-sig'
- # The master toctree document.
- master_doc = "index"
- # General information about the project.
- project = "SHAP"
- copyright = "2018, Scott Lundberg"
- author = "Scott Lundberg"
- # The version info for the project you're documenting, acts as replacement for
- # |version| and |release|, also used in various other places throughout the
- # built documents.
- #
- # The short X.Y version.
- version = "latest"
- # The full version, including alpha/beta/rc tags.
- release = "latest"
- # The language for content autogenerated by Sphinx. Refer to documentation
- # for a list of supported languages.
- #
- # This is also used if you do content translation via gettext catalogs.
- # Usually you set "language" from the command line for these cases.
- language = "en"
- # There are two options for replacing |today|: either, you set today to some
- # non-false value, then it is used:
- #
- # today = ''
- #
- # Else, today_fmt is used as the format for a strftime call.
- #
- # today_fmt = '%B %d, %Y'
- # List of patterns, relative to source directory, that match files and
- # directories to ignore when looking for source files.
- # This patterns also effect to html_static_path and html_extra_path
- exclude_patterns = [
- "_build",
- "Thumbs.db",
- ".DS_Store",
- "example_notebooks/tabular_examples/tree_based_models/tree_shap_paper",
- "user_studies",
- "local",
- ]
- # The reST default role (used for this markup: `text`) to use for all
- # documents.
- #
- # default_role = None
- # If true, '()' will be appended to :func: etc. cross-reference text.
- #
- # add_function_parentheses = True
- # If true, the current module name will be prepended to all description
- # unit titles (such as .. function::).
- #
- # add_module_names = True
- # If true, sectionauthor and moduleauthor directives will be shown in the
- # output. They are ignored by default.
- #
- # show_authors = False
- # The name of the Pygments (syntax highlighting) style to use.
- pygments_style = "sphinx"
- # A list of ignored prefixes for module index sorting.
- # modindex_common_prefix = []
- # If true, keep warnings as "system message" paragraphs in the built documents.
- # keep_warnings = False
- # If true, `todo` and `todoList` produce output, else they produce nothing.
- todo_include_todos = False
- # -- Release notes configuration ------------------------------------------
- # Make available a URL that points to the latest unreleased changes
- def get_latest_tag() -> str:
- """Query GitHub API to get the most recent git tag"""
- url = "https://api.github.com/repos/shap/shap/releases/latest"
- response = requests.get(url)
- response.raise_for_status()
- return response.json()["tag_name"]
- _latest_tag = get_latest_tag()
- _url = f"https://github.com/shap/shap/compare/{_latest_tag}...main"
- # Make an RST substitution that inserts the correct hyperlink
- rst_epilog = f"""
- .. |unreleasedchanges| replace:: {_latest_tag}...main
- .. _unreleasedchanges: {_url}
- """
- # -- Options for HTML output ----------------------------------------------
- # The theme to use for HTML and HTML Help pages. See the documentation for
- # a list of builtin themes.
- #
- # html_theme = 'alabaster'
- html_theme = "sphinx_rtd_theme"
- # Theme options are theme-specific and customize the look and feel of a theme
- # further. For a list of options available for each theme, see the
- # documentation.
- #
- html_theme_options = {
- #'canonical_url': '',
- "logo_only": True,
- "display_version": True,
- "prev_next_buttons_location": "bottom",
- "style_external_links": False,
- "style_nav_header_background": "#343131",
- # Toc options
- "collapse_navigation": True,
- "sticky_navigation": True,
- "navigation_depth": 4,
- "includehidden": True,
- "titles_only": False,
- }
- # The name of an image file (relative to this directory) to place at the top
- # of the sidebar.
- html_logo = "artwork/shap_logo_white.png"
- # Add any paths that contain custom themes here, relative to this directory.
- # html_theme_path = []
- # The name for this set of Sphinx documents.
- # "<project> v<release> documentation" by default.
- #
- # html_title = 'SHAP v0.16'
- # A shorter title for the navigation bar. Default is the same as html_title.
- #
- # html_short_title = None
- # The name of an image file (relative to this directory) to use as a favicon of
- # the docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
- # pixels large.
- #
- html_favicon = "artwork/favicon.ico"
- # Add any paths that contain custom static files (such as style sheets) here,
- # relative to this directory. They are copied after the builtin static files,
- # so a file named "default.css" will overwrite the builtin "default.css".
- html_static_path = ["_static"]
- # Add any extra paths that contain custom files (such as robots.txt or
- # .htaccess) here, relative to this directory. These files are copied
- # directly to the root of the documentation.
- #
- # html_extra_path = []
- # If not None, a 'Last updated on:' timestamp is inserted at every page
- # bottom, using the given strftime format.
- # The empty string is equivalent to '%b %d, %Y'.
- #
- # html_last_updated_fmt = None
- # If true, SmartyPants will be used to convert quotes and dashes to
- # typographically correct entities.
- #
- # html_use_smartypants = True
- # Custom sidebar templates, maps document names to template names.
- #
- # html_sidebars = {}
- # Additional templates that should be rendered to pages, maps page names to
- # template names.
- #
- # html_additional_pages = {}
- # If false, no module index is generated.
- #
- # html_domain_indices = True
- # If false, no index is generated.
- #
- # html_use_index = True
- # If true, the index is split into individual pages for each letter.
- #
- # html_split_index = False
- # If true, links to the reST sources are added to the pages.
- #
- # html_show_sourcelink = True
- # If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
- #
- # html_show_sphinx = True
- # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
- #
- # html_show_copyright = True
- # If true, an OpenSearch description file will be output, and all pages will
- # contain a <link> tag referring to it. The value of this option must be the
- # base URL from which the finished HTML is served.
- #
- # html_use_opensearch = ''
- # This is the file name suffix for HTML files (e.g. ".xhtml").
- # html_file_suffix = None
- # Language to be used for generating the HTML full-text search index.
- # Sphinx supports the following languages:
- # 'da', 'de', 'en', 'es', 'fi', 'fr', 'h', 'it', 'ja'
- # 'nl', 'no', 'pt', 'ro', 'r', 'sv', 'tr', 'zh'
- #
- # html_search_language = 'en'
- # A dictionary with options for the search language support, empty by default.
- # 'ja' uses this config value.
- # 'zh' user can custom change `jieba` dictionary path.
- #
- # html_search_options = {'type': 'default'}
- # The name of a javascript file (relative to the configuration directory) that
- # implements a search results scorer. If empty, the default will be used.
- #
- # html_search_scorer = 'scorer.js'
- # Output file base name for HTML help builder.
- htmlhelp_basename = "SHAPdoc"
- # -- Options for LaTeX output ---------------------------------------------
- latex_elements = {
- # The paper size ('letterpaper' or 'a4paper').
- #
- # 'papersize': 'letterpaper',
- # The font size ('10pt', '11pt' or '12pt').
- #
- # 'pointsize': '10pt',
- # Additional stuff for the LaTeX preamble.
- #
- # 'preamble': '',
- # Latex figure (float) alignment
- #
- # 'figure_align': 'htbp',
- }
- # Grouping the document tree into LaTeX files. List of tuples
- # (source start file, target name, title,
- # author, documentclass [howto, manual, or own class]).
- latex_documents = [
- (master_doc, "SHAP.tex", "SHAP Documentation", "Scott Lundberg", "manual"),
- ]
- # The name of an image file (relative to this directory) to place at the top of
- # the title page.
- #
- # latex_logo = None
- # For "manual" documents, if this is true, then toplevel headings are parts,
- # not chapters.
- #
- # latex_use_parts = False
- # If true, show page references after internal links.
- #
- # latex_show_pagerefs = False
- # If true, show URL addresses after external links.
- #
- # latex_show_urls = False
- # Documents to append as an appendix to all manuals.
- #
- # latex_appendices = []
- # It false, will not define \strong, \code, itleref, \crossref ... but only
- # \sphinxstrong, ..., \sphinxtitleref, ... To help avoid clash with user added
- # packages.
- #
- # latex_keep_old_macro_names = True
- # If false, no module index is generated.
- #
- # latex_domain_indices = True
- # -- Options for manual page output ---------------------------------------
- # One entry per manual page. List of tuples
- # (source start file, name, description, authors, manual section).
- man_pages = [(master_doc, "shap", "SHAP Documentation", [author], 1)]
- # If true, show URL addresses after external links.
- #
- # man_show_urls = False
- # -- Options for Texinfo output -------------------------------------------
- # Grouping the document tree into Texinfo files. List of tuples
- # (source start file, target name, title, author,
- # dir menu entry, description, category)
- texinfo_documents = [
- (
- master_doc,
- "SHAP",
- "SHAP Documentation",
- author,
- "SHAP",
- "One line description of project.",
- "Miscellaneous",
- ),
- ]
- # Documents to append as an appendix to all manuals.
- #
- # texinfo_appendices = []
- # If false, no module index is generated.
- #
- # texinfo_domain_indices = True
- # How to display URL addresses: 'footnote', 'no', or 'inline'.
- #
- # texinfo_show_urls = 'footnote'
- # If true, do not generate a @detailmenu in the "Top" node's menu.
- #
- # texinfo_no_detailmenu = False
- def setup(app):
- import shap # noqa: F401
- app.connect("build-finished", build_finished)
- def build_finished(app, exception):
- shutil.rmtree(NOTEBOOKS_DIR)
conf.py at commit 50be8f4, under MIT · at the source
Overview
- Faculty of Engineering, University of Porto, Porto, Portugal
- LIACC – Artificial Intelligence and Computer Science Laboratory, University of Porto, Porto, Portugal
- Faculty of Medicine, University of Porto, Porto, Portugal
- LASI – Intelligent Systems Associate Laboratory, Guimarães, Portugal
- University of Maia, Maia, Portugal
- CISUC – Centre for Informatics and Systems, University of Coimbra, Coimbra, Portugal
Abstract
Introduction: Applying artificial intelligence to functional magnetic resonance imaging (fMRI) has advanced the modelling of neural activity, but deep architectures such as graph neural networks (GNNs) require large samples, limiting their use in the small cohorts typical of task-based fMRI. Shallow neural networks (SNNs) are robust with few samples but treat brain regions independently, overlooking the brain’s network organization. We propose a structurally constrained message-passing framework that integrates diffusion-based structural connectivity, from a previously published group connectome, with region-level fMRI signals in a shallow architecture.
Methods: The task is a binary classification of individual video trials as mentalizing or random, decoded from the fMRI response, in a Theory of Mind paradigm from the Human Connectome Project Young Adult dataset (30 subjects) under subject-wise 3-fold cross-validation. Two shallow classifiers are compared on the same data: the baseline classifies each trial from the regional fMRI signals as independent inputs, whereas the proposed model first applies one message-passing step, replacing each region’s signal with a structurally connected combination of its neighbors’ signals, so that classification operates at the level of anatomically defined networks. Interpretability is assessed using SHAP (SHapley Additive exPlanations).
Results: Across folds, the proposed model matches the baseline (mean retrained accuracy 85.1%; 84.7% on the shared partition), the accuracy lost to pruning being recovered by retraining in every fold. The magnitude of the inputs’ contributions is reproducible across folds, whereas their direction is not. Only about a quarter of the consistently retained inputs also preserve their sign, so a cross-fold sign-consistency criterion is applied to retain reliable explanations. This identifies seven networks contributing robustly to the mentalizing class, located in the temporo-parietal junction, inferior parietal, and medial temporal cortices and overlapping a literature-based mentalizing map (overlap coefficient 0.383). Within these networks, Cohen’s D ranks the relative signal magnitude of the constituent regions.
Discussion: Overall, structural constraints improve biological interpretability without compromising classification performance, while cross-validation establishes which explanations are stable, offering a compact and interpretable approach to network-level brain decoding in small cohorts and a basis that may be applied to connectivity disorders.
Reproduced under the paper's license (CC BY), from the paper cited above.
Repository
Its files are read in the Code ↔ Paper reader above.
shap/shap
50be8f4fd7031d535d515042741320f53272d211, 4 October 2026Availability: 1 check, the latest on 8 October 2026: the link answers
- 8 October 2026: the link answers
56 files
- docs/
conf.py , Python, 455 lines - docs/
notebooks/ , Python, 26 linesplots/ data/ crime.py - docs/
user_studies/ , Jupyter, 251 linessickness_scores/ Analyse Results.ipynb - docs/
user_studies/ , Jupyter, 30 linessickness_scores/ Approve Hits.ipynb - docs/
user_studies/ , JavaScript, 6,091 linessickness_scores/ static/ js/ bundle.js - docs/
user_studies/ , JavaScript, 223 linessickness_scores/ static/ js/ task.js - docs/
user_studies/ , JavaScript, 20 linessickness_scores/ static/ js/ utils.js - docs/
user_studies/ , JavaScript, 4 linessickness_scores/ static/ lib/ backbone-min.js - docs/
user_studies/ , JavaScript, 6 linessickness_scores/ static/ lib/ bootstrap.min.js - docs/
user_studies/ , JavaScript, 5 linessickness_scores/ static/ lib/ d3.v3.min.js - docs/
user_studies/ , JavaScript, 6 linessickness_scores/ static/ lib/ jquery-min.js - docs/
user_studies/ , JavaScript, 6 linessickness_scores/ static/ lib/ underscore-min.js - docs/
user_studies/ , JavaScript, 30 linessickness_scores/ webpack.config.js - javascript/
babel.config.js , JavaScript, 6 lines - javascript/
jest.config.js , JavaScript, 8 lines - javascript/
random-explanation.js , JavaScript, 25 lines - javascript/
test_bundle.js , JavaScript, 4 lines - javascript/
visualizers/ , JavaScript, 13 linescolor-set.js - javascript/
webpack.config.js , JavaScript, 54 lines - monitoring/
__init__.py , Python, 1 line - monitoring/
exact_explainer.py , Python, 43 lines - monitoring/
links.py , Python, 36 lines - monitoring/
masked_model.py , Python, 52 lines - monitoring/
partition_explainer.py , Python, 71 lines - monitoring/
permutation_explainer.py , Python, 39 lines - monitoring/
tabular_masker.py , Python, 48 lines - notebooks/
api_examples/ , Jupyter, 78 linesexplainers/ Exact.ipynb - notebooks/
api_examples/ , Jupyter, 65 linesexplainers/ GPUTree.ipynb - notebooks/
api_examples/ , Jupyter, 84 linesexplainers/ Permutation.ipynb - notebooks/
api_examples/ , Jupyter, 34 linesmaskers/ custom.ipynb - notebooks/
api_examples/ , Jupyter, 49 linesmigrating-to-new-api.ipy nb - notebooks/
api_examples/ , Jupyter, 101 linesplots/ bar.ipynb - notebooks/
api_examples/ , Jupyter, 64 linesplots/ beeswarm.ipynb - notebooks/
api_examples/ , Jupyter, 560 linesplots/ decision_plot.ipynb - notebooks/
api_examples/ , Jupyter, 49 linesplots/ heatmap.ipynb - notebooks/
api_examples/ , Jupyter, 42 linesplots/ image.ipynb - notebooks/
api_examples/ , Jupyter, 231 linesplots/ scatter.ipynb - notebooks/
api_examples/ , Jupyter, 122 linesplots/ text.ipynb - notebooks/
api_examples/ , Jupyter, 113 linesplots/ violin.ipynb - notebooks/
api_examples/ , Jupyter, 41 linesplots/ waterfall.ipynb - notebooks/
benchmarks/ , Jupyter, 92 linesimage/ Image Multiclass Classification Benchmark Demo.ipynb - notebooks/
benchmarks/ , Jupyter, 163 linesothers/ Benchmark Debug Mode.ipynb - notebooks/
benchmarks/ , Jupyter, 249 linestabular/ Benchmark XGBoost explanations.ipynb - notebooks/
benchmarks/ , Jupyter, 76 linestabular/ Tabular Prediction Benchmark Demo.ipynb - notebooks/
benchmarks/ , Jupyter, 54 linestext/ Abstractive Summarization Benchmark Demo.ipynb - notebooks/
benchmarks/ , Jupyter, 63 linestext/ Machine Translation Benchmark Demo.ipynb - notebooks/
benchmarks/ , Jupyter, 97 linestext/ Text Emotion Multiclass Classification Benchmark Demo.ipynb - notebooks/
genomic_examples/ , Jupyter, 159 linesDeepExplainer Genomics Example.ipynb - notebooks/
image_examples/ , Jupyter, 290 linesimage_captioning/ Image Captioning using Azure Cognitive Services.ipynb - notebooks/
image_examples/ , Jupyter, 357 linesimage_captioning/ Image Captioning using Open Source.ipynb - notebooks/
image_examples/ , Jupyter, 166 linesimage_classification/ Explain MobilenetV2 using the Partition explainer (PyTorch).ipynb - notebooks/
image_examples/ , Jupyter, 104 linesimage_classification/ Explain ResNet50 using the Partition explainer.ipynb - notebooks/
image_examples/ , Jupyter, 73 linesimage_classification/ Explain an Intermediate Layer of VGG16 on ImageNet (PyTorch).ipynb - notebooks/
image_examples/ , Jupyter, 65 linesimage_classification/ Explain an Intermediate Layer of VGG16 on ImageNet.ipynb - repository limit reached (2,000 files or 30 MB): the rest is at the source (236 files)
- LICENSE, License, 21 lines
- README.md, Text, 357 lines
Tracing map
Proposed by the machine: these links were found in the paper and verified at the source, without human review. The map will receive a Zenodo DOI once one of the paper's authors has validated it with their ORCID.
What the map holds:
- 1 repository of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
- 54 scripts, each with its path and the digest of its content;
- no match between paragraphs and code yet;
- neither the text of the paper nor the code itself.
Its JSON (tracing-map.json) is deposited on Zenodo with its DOI once the map is validated.
Data
Datasets cited
- humanconnectome.org/
study/ , at Human Connectome Project; found in the end of the paperhcp-young-adult
Data availability statement
Publicly available datasets were analyzed in this study. This data can be found at: HCP-Young Adult 2025 at https://
Reproduced under the paper's license (CC BY), from the paper cited above.
Versions
The history of this record: each version stored by the harvester or made by a correction of its authors or of the maintainers of its code, and what changed in its facts. The texts of the paper (its abstract, its availability statements) are not part of it; versions that changed only those are not listed.
Version 1, 8 October 2026: the first record
Recorded: type, language, journal, volume, pages, dates, 5 authors, 8 keywords, 42 references.
Cite
This paper
Marques dos Santos, J. D., Ramos, M. B., Reis, L. P., Marques dos Santos, J. P., & Direito, B. (2026). Structurally restricted message-passing within shallow architectures for explainable network-level brain decoding on small cohorts. Frontiers in behavioral neuroscience, 20, 1833995.
BibTeX
@article{marquesdossanto
author = {Marques dos Santos, José Diogo and Ramos, Maria Beatriz and Reis, Luís Paulo and Marques dos Santos, José Paulo and Direito, Bruno},
title = {{Structurally restricted message-passing within shallow architectures for explainable network-level brain decoding on small cohorts}},
journal = {Frontiers in behavioral neuroscience},
year = {2026},
month = oct,
volume = {20},
pages = {1833995},
publisher = {Frontiers Media SA},
issn = {1662-5153},
pmcid = {PMC13642823}
}
RIS
TY - JOUR
AU - Marques dos Santos, José Diogo
AU - Ramos, Maria Beatriz
AU - Reis, Luís Paulo
AU - Marques dos Santos, José Paulo
AU - Direito, Bruno
TI - Structurally restricted message-passing within shallow architectures for explainable network-level brain decoding on small cohorts
T2 - Frontiers in behavioral neuroscience
J2 - Front Behav Neurosci
PY - 2026
DA - 2026/
VL - 20
SP - 1833995
SN - 1662-5153
PB - Frontiers Media SA
LA - en
ER -
CSL-JSON
{
"id": "pmcid:PMC13642823",
"type": "article-journal",
"title": "Structurally restricted message-passing within shallow architectures for explainable network-level brain decoding on small cohorts",
"container-title": "Frontiers in behavioral neuroscience",
"author": [
{
"family": "Marques dos Santos",
"given": "José Diogo"
},
{
"family": "Ramos",
"given": "Maria Beatriz"
},
{
"family": "Reis",
"given": "Luís Paulo"
},
{
"family": "Marques dos Santos",
"given": "José Paulo"
},
{
"family": "Direito",
"given": "Bruno"
}
],
"container-title-short":
"volume": "20",
"page": "1833995",
"PMCID": "PMC13642823",
"ISSN": "1662-5153",
"publisher": "Frontiers Media SA",
"language": "en",
"issued": {
"date-parts": [
[
2026,
10,
8
]
]
}
}
The tracing map gets a citation of its own once an author has validated it and it has a DOI.
Similar papers
The papers with a page that share the most with this one: the tools found in their code, their categories, datasets, cited references and authors, the rarest counting most.
- [1] doi:10.3389/fnhum.2024.1305164 [code]
- Explainable artificial intelligence (xAI) in neuromarketing/
consumer neuroscience: an fMRI study on brand perception. Journal: Frontiers in human neuroscienceIn common: LightGBM, Hugging Face Transformers, SHAP, 9 other tools, fMRI, 3 references - [2] doi:10.1016/j.neuroimage.2022.119843 [code]
- A machine learning based approach towards high-dimensional mediation analysis.Journal: NeuroImageIn common: LightGBM, Hugging Face Transformers, SHAP, 9 other tools, humanconnectome.org/study/hcp-young-adult, fMRI, 1 reference
- [3] doi:10.1016/j.ebiom.2025.106064 [code]
- Metabolic inflammation, brain age and cognitive functioning in short- and long-term clinical weight loss trials.Journal: EBioMedicineIn common: LightGBM, Hugging Face Transformers, SHAP, 9 other tools, structural MRI / diffusion
- [4] doi:10.7554/elife.81067 [code]
- Biological brain age prediction using machine learning on structural neuroimaging data: Multi-cohort validation against biomarkers of Alzheimer's disease and neurodegeneration stratified by sex.Journal: eLifeIn common: LightGBM, Hugging Face Transformers, SHAP, 9 other tools, structural MRI / diffusion
- [5] doi:10.1088/1361-6579/adce52 [code]
- Visualizing functional network connectivity differences using an explainable machine-learning method.Journal: Physiological measurementIn common: LightGBM, Hugging Face Transformers, SHAP, 9 other tools
- [6] doi:10.1038/s41597-024-03838-4 [code]
- EAV: EEG-Audio-Video Dataset for Emotion Recognition in Conversational Contexts.Journal: Scientific dataIn common: LightGBM, Hugging Face Transformers, SHAP, 9 other tools
- [7] doi:10.1016/j.isci.2023.107522 [code]
- Deep learning for risk-based stratification of cognitively impaired individuals.Journal: iScienceIn common: LightGBM, Hugging Face Transformers, SHAP, 9 other tools
- [8] doi:10.1038/s41531-025-00982-5 [code]
- Baseline [&
lt;sup& gt;18& lt;/ sup& gt;F]FP-CIT PET-based deep learning prediction of levodopa-induced dyskinesia in Parkinson's disease. Journal: NPJ Parkinson's diseaseIn common: LightGBM, Hugging Face Transformers, SHAP, 9 other tools - [9] doi:10.3390/diagnostics13172840 [code]
- The Diagnostic Accuracy of Artificial Intelligence in Radiological Markers of Normal-Pressure Hydrocephalus (NPH) on Non-Contrast CT Scans of the Brain.Journal: Diagnostics (Basel, Switzerland)In common: LightGBM, Hugging Face Transformers, SHAP, 9 other tools
- [10] doi:10.1016/j.xpro.2023.102320 [code]
- WaveMAP for identifying putative cell types from in vivo electrophysiology.Journal: STAR protocolsIn common: LightGBM, Hugging Face Transformers, SHAP, 9 other tools
Contribute
The authors of this paper can claim it, correct its record and validate its tracing map, and the maintainers of its code (its owner, or a public member of its organization) correct what it says of their repository; anyone signed in can ask for its removal. Every request goes to OSCR's own machine, which answers it; your account page follows them.
Sign in with ORCID to claim this paper as one of its authors, correct its record or validate its tracing map: when the paper's metadata lists your ORCID iD, you are recognized at once. Maintainers of its code: sign in with GitHub, then claim the repository on your account page.
Claim this paper
Correct its record
Say what each link of this record is, remove the ones that are not the paper's, add the ones that are missing. The correction becomes a new version of the record, in its Versions section.
Validate its tracing map
You validate the map as this page shows it: 1 repository of the authors' code, each at its verified commit and with its license, 54 scripts, and 0 matches between paragraphs and code (see the Code and Map sections). It then receives a DOI on Zenodo, with you (your ORCID iD) and OSCR as its creators; the code itself is not deposited.
The map's fingerprint: sha256:41c141174b56e53d…
Add the badge to the code's README
If you are an author or a maintainer of this paper's code, you can add this badge. It says what OSCR knows of the paper (its code, its validated tracing map) and links the code to this page. Paste one of these snippets under the README's title. Keep the two marks around it, so that the badge can be replaced in place and is never added twice. OSCR changes nothing in your repository.
Markdown
<!-- oscr-badge:start -->
[](https://openscicode.org/badge/repo/github.com/shap/shap)
<!-- oscr-badge:end -->reStructuredText
.. oscr-badge:start
.. image:: https://openscicode.org/badge/repo/github.com/shap/shap.svg
:target: https://openscicode.org/badge/repo/github.com/shap/shap
:alt: OSCR
.. oscr-badge:endHTML
<!-- oscr-badge:start -->
<a href="https://openscicode.org/badge/repo/github.com/shap/shap"><img src="https://openscicode.org/badge/repo/github.com/shap/shap.svg" alt="OSCR"></a>
<!-- oscr-badge:end -->On GitHub, open the README, choose Edit (the pencil), paste the snippet under the title, then "Commit changes".
If you choose to, you can have the badge kept up to date for you, with oscr badge --write from the command line or with the GitHub Action in your repository's workflows. Every other form and option (a card, AsciiDoc, LaTeX, shields.io) is on the badge page.
Request its removal
To ask OSCR to remove this record, the copies of its authors' scripts or its tracing map, use the removal request page: signed in, you say who you are, what to remove and why, then review and confirm the request. Published rules decide every request (how).
Discussion, reproductions, activity
Discussion: code errors and mismatches between the code and the paper about this paper and its code, from readers and its authors, beside the paper and its tracing map.
Report a mismatch between the code and the paper · Report a code error (signed in)
Reproductions: reports from readers who ran the authors' code and did not get the paper's result, what they ran, with which environment, commit and data.
Report a reproduction failure (signed in)
Versions of its code: the releases of its code tied to a version of this paper (the preprint, the accepted manuscript, the version of record…), each with the tracing map versioned with it.
Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.
