nimare.decode.discrete.NeurosynthDecoder

class NeurosynthDecoder(feature_group=None, features=None, frequency_threshold=0.001, prior=0.5, u=0.05, correction='fdr_bh')[source]

Bases: Decoder

Perform discrete functional decoding according to Neurosynth’s meta-analytic method.

Neurosynth was described in Yarkoni et al.[1].

Added in version 0.0.3.

This does not employ correlations between unthresholded maps, which are the method of choice for decoding within Neurosynth and Neurovault. Metadata (i.e., feature labels) for studies within the selected sample (ids) are compared to the unselected studies remaining in the database (dataset).

Parameters:
  • feature_group (str, optional) – Feature group name used to select labels from a specific source. Feature groups are stored as prefixes to feature name columns in Dataset.annotations, with the format [source]_[valuetype]__. Input may or may not include the trailing underscore. Default is None, which uses all feature groups available.

  • features (list, optional) – List of features in dataset annotations to use for decoding. If feature_group is provided, then features should not include the feature group prefix. If feature_group is not provided, then features should include the prefix. Default is None, which uses all features available.

  • frequency_threshold (float, optional) – Threshold to apply to dataset annotations. Values greater than or equal to the threshold as assigned as label+, while values below the threshold are considered label-. Default is 0.001.

  • prior (float, optional) – Uniform prior probability of each label being active in a study in the absence of evidence (labels or selection) from the study. Default is 0.5 (50%).

  • u (float, optional) – Alpha level for multiple comparisons correction. Default is 0.05.

  • correction ({None, "bh", "by", "bonferroni"}, optional) – Multiple comparisons correction method to apply. Default is ‘bh’ (Benjamini-Hochberg FDR correction).

See also

neurosynth_decode()

The associated function for this method.

References

Methods

fit(dataset[, drop_invalid])

Fit Decoder to Dataset.

get_params([deep])

Get parameters for this estimator.

load(filename[, compressed])

Load a pickled class instance from file.

save(filename[, compress])

Pickle the class instance to the provided file.

set_params(**params)

Set the parameters of this estimator.

transform(ids[, ids2])

Apply the decoding method to a Dataset.

fit(dataset, drop_invalid=True)[source]

Fit Decoder to Dataset.

Parameters:
  • dataset (Dataset) – Dataset object to analyze.

  • drop_invalid (bool, default=True) – Whether to automatically ignore any studies without the required data or not. Default is True.

Notes

The fit method is a light wrapper that runs input validation and preprocessing before fitting the actual model. Decoders’ individual “fitting” methods are implemented as _fit, although users should call fit.

Selection of features based on requested features and feature group is performed in Decoder._preprocess_input.

get_params(deep=True)[source]

Get parameters for this estimator.

Parameters:

deep (bool, default=True) – If True, will return the parameters for this estimator and contained subobjects that are estimators.

Returns:

params – Parameter names mapped to their values.

Return type:

dict

classmethod load(filename, compressed=True)[source]

Load a pickled class instance from file.

Parameters:
  • filename (str) – Name of file containing object.

  • compressed (bool, default=True) – If True, the file is assumed to be compressed and gzip will be used to load it. Otherwise, it will assume that the file is not compressed. Default = True.

Returns:

obj – Loaded class object.

Return type:

class object

save(filename, compress=True)[source]

Pickle the class instance to the provided file.

Parameters:
  • filename (str) – File to which object will be saved.

  • compress (bool, optional) – If True, the file will be compressed with gzip. Otherwise, the uncompressed version will be saved. Default = True.

set_params(**params)[source]

Set the parameters of this estimator.

The method works on simple estimators as well as on nested objects (such as pipelines). The latter have parameters of the form <component>__<parameter> so that it’s possible to update each component of a nested object.

Return type:

self

transform(ids, ids2=None)[source]

Apply the decoding method to a Dataset.

Parameters:
  • ids (list) – Subset of studies in coordinates/annotations dataframes indicating target for decoding. Examples include studies reporting at least one peak in an ROI, or studies selected from a clustering analysis.

  • ids2 (list or None, optional) – Second subset of studies, representing “unselected” studies. If None, then all studies in Dataset not in ids will be used.

Returns:

results – Table with each label and the following values associated with each label: ‘pForward’, ‘zForward’, ‘probForward’, ‘pReverse’, ‘zReverse’, and ‘probReverse’.

Return type:

pandas.DataFrame