nimare.decode.discrete.BrainMapDecoder

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

Bases: Decoder

Perform image-to-text decoding for discrete inputs according to the BrainMap method.

This method was described in Amft et al.[1].

Added in version 0.0.3.

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.

  • 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

brainmap_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 coordinates/annotations dataframes not in ids will be used.

Returns:

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

Return type:

pandas.DataFrame