matminer.featurizers.tests package — matminer 0.9.1 documentation

# matminer.featurizers.tests package

## Submodules

## matminer.featurizers.tests.test_bandstructure module

class matminer.featurizers.tests.test_bandstructure.BandstructureFeaturesTest(methodName='runTest')

  Bases: `PymatgenTest`

  setUp()

    Hook method for setting up the test fixture before exercising it.

  test_BandFeaturizer()
  test_BranchPointEnergy()

## matminer.featurizers.tests.test_base module

class matminer.featurizers.tests.test_base.FittableFeaturizer

  Bases: `BaseFeaturizer`

  This test featurizer tests fitting qualities of BaseFeaturizer, including refittability and different results based on different fits.

  citations()

    Citation(s) and reference(s) for this feature.

    Returns:
      (list) each element should be a string citation,

        ideally in BibTeX format.

  feature_labels()

    Generate attribute names.

    Returns:

      ([str]) attribute labels.

  featurize(x)

    Main featurizer function, which has to be implemented in any derived featurizer subclass.

    Args:

      x: input data to featurize (type depends on featurizer).

    Returns:

      (list) one or more features.

  fit(X, y=None, **fit_kwargs)

    Update the parameters of this featurizer based on available data

    Args:

      X - [list of tuples], training data

    Returns:

      self

  implementors()

    List of implementors of the feature.

    Returns:
      (list) each element should either be a string with author name (e.g.,

        “Anubhav Jain”) or a dictionary with required key “name” and other keys like “email” or “institution” (e.g., {“name”: “Anubhav Jain”, “email”: “ajain@lbl.gov”, “institution”: “LBNL”}).

class matminer.featurizers.tests.test_base.MatrixFeaturizer

  Bases: `BaseFeaturizer`

  citations()

    Citation(s) and reference(s) for this feature.

    Returns:
      (list) each element should be a string citation,

        ideally in BibTeX format.

  feature_labels()

    Generate attribute names.

    Returns:

      ([str]) attribute labels.

  featurize(*x)

    Main featurizer function, which has to be implemented in any derived featurizer subclass.

    Args:

      x: input data to featurize (type depends on featurizer).

    Returns:

      (list) one or more features.

  implementors()

    List of implementors of the feature.

    Returns:
      (list) each element should either be a string with author name (e.g.,

        “Anubhav Jain”) or a dictionary with required key “name” and other keys like “email” or “institution” (e.g., {“name”: “Anubhav Jain”, “email”: “ajain@lbl.gov”, “institution”: “LBNL”}).

class matminer.featurizers.tests.test_base.MultiArgs2

  Bases: `BaseFeaturizer`

  __init__()
  citations()

    Citation(s) and reference(s) for this feature.

    Returns:
      (list) each element should be a string citation,

        ideally in BibTeX format.

  feature_labels()

    Generate attribute names.

    Returns:

      ([str]) attribute labels.

  featurize(*x)

    Main featurizer function, which has to be implemented in any derived featurizer subclass.

    Args:

      x: input data to featurize (type depends on featurizer).

    Returns:

      (list) one or more features.

  implementors()

    List of implementors of the feature.

    Returns:
      (list) each element should either be a string with author name (e.g.,

        “Anubhav Jain”) or a dictionary with required key “name” and other keys like “email” or “institution” (e.g., {“name”: “Anubhav Jain”, “email”: “ajain@lbl.gov”, “institution”: “LBNL”}).

class matminer.featurizers.tests.test_base.MultiTypeFeaturizer

  Bases: `BaseFeaturizer`

  A featurizer that returns multiple dtypes

  citations()

    Citation(s) and reference(s) for this feature.

    Returns:
      (list) each element should be a string citation,

        ideally in BibTeX format.

  feature_labels()

    Generate attribute names.

    Returns:

      ([str]) attribute labels.

  featurize(*x)

    Main featurizer function, which has to be implemented in any derived featurizer subclass.

    Args:

      x: input data to featurize (type depends on featurizer).

    Returns:

      (list) one or more features.

  implementors()

    List of implementors of the feature.

    Returns:
      (list) each element should either be a string with author name (e.g.,

        “Anubhav Jain”) or a dictionary with required key “name” and other keys like “email” or “institution” (e.g., {“name”: “Anubhav Jain”, “email”: “ajain@lbl.gov”, “institution”: “LBNL”}).

class matminer.featurizers.tests.test_base.MultipleFeatureFeaturizer

  Bases: `BaseFeaturizer`

  citations()

    Citation(s) and reference(s) for this feature.

    Returns:
      (list) each element should be a string citation,

        ideally in BibTeX format.

  feature_labels()

    Generate attribute names.

    Returns:

      ([str]) attribute labels.

  featurize(x)

    Main featurizer function, which has to be implemented in any derived featurizer subclass.

    Args:

      x: input data to featurize (type depends on featurizer).

    Returns:

      (list) one or more features.

  implementors()

    List of implementors of the feature.

    Returns:
      (list) each element should either be a string with author name (e.g.,

        “Anubhav Jain”) or a dictionary with required key “name” and other keys like “email” or “institution” (e.g., {“name”: “Anubhav Jain”, “email”: “ajain@lbl.gov”, “institution”: “LBNL”}).

class matminer.featurizers.tests.test_base.SingleFeaturizer

  Bases: `BaseFeaturizer`

  citations()

    Citation(s) and reference(s) for this feature.

    Returns:
      (list) each element should be a string citation,

        ideally in BibTeX format.

  feature_labels()

    Generate attribute names.

    Returns:

      ([str]) attribute labels.

  featurize(x)

    Main featurizer function, which has to be implemented in any derived featurizer subclass.

    Args:

      x: input data to featurize (type depends on featurizer).

    Returns:

      (list) one or more features.

  implementors()

    List of implementors of the feature.

    Returns:
      (list) each element should either be a string with author name (e.g.,

        “Anubhav Jain”) or a dictionary with required key “name” and other keys like “email” or “institution” (e.g., {“name”: “Anubhav Jain”, “email”: “ajain@lbl.gov”, “institution”: “LBNL”}).

class matminer.featurizers.tests.test_base.SingleFeaturizerMultiArgs

  Bases: `SingleFeaturizer`

  featurize(*x)

    Main featurizer function, which has to be implemented in any derived featurizer subclass.

    Args:

      x: input data to featurize (type depends on featurizer).

    Returns:

      (list) one or more features.

class matminer.featurizers.tests.test_base.SingleFeaturizerMultiArgsWithPrecheck

  Bases: `SingleFeaturizerMultiArgs`

  precheck(*x)

    Precheck (provide an estimate of whether a featurizer will work or not) for a single entry (e.g., a single composition). If the entry fails the precheck, it will most likely fail featurization; if it passes, it is likely (but not guaranteed) to featurize correctly.

    Prechecks should be:

      - accurate (but can be good estimates rather than ground truth)

      - fast to evaluate

      - unlikely to be obsolete via changes in the featurizer in the near

          future

    This method should be overridden by any featurizer requiring its use, as by default all entries will pass prechecking. Also, precheck is a good opportunity to throw warnings about long runtimes (e.g., doing nearest neighbors computations on a structure with many thousand sites).

    See the documentation for precheck_dataframe for more information.

    Args:
      *x (Composition, Structure, etc.): Input to-be-featurized. Can be

        a single input or multiple inputs.

    Returns:

      (bool): True, if passes the precheck. False, if fails.

class matminer.featurizers.tests.test_base.SingleFeaturizerWithPrecheck

  Bases: `SingleFeaturizer`

  precheck(x)

    Precheck (provide an estimate of whether a featurizer will work or not) for a single entry (e.g., a single composition). If the entry fails the precheck, it will most likely fail featurization; if it passes, it is likely (but not guaranteed) to featurize correctly.

    Prechecks should be:

      - accurate (but can be good estimates rather than ground truth)

      - fast to evaluate

      - unlikely to be obsolete via changes in the featurizer in the near

          future

    This method should be overridden by any featurizer requiring its use, as by default all entries will pass prechecking. Also, precheck is a good opportunity to throw warnings about long runtimes (e.g., doing nearest neighbors computations on a structure with many thousand sites).

    See the documentation for precheck_dataframe for more information.

    Args:
      *x (Composition, Structure, etc.): Input to-be-featurized. Can be

        a single input or multiple inputs.

    Returns:

      (bool): True, if passes the precheck. False, if fails.

class matminer.featurizers.tests.test_base.TestBaseClass(methodName='runTest')

  Bases: `PymatgenTest`

  static make_test_data()
  setUp()

    Hook method for setting up the test fixture before exercising it.

  test_caching()

    Test whether MultiFeaturizer properly caches

  test_dataframe()
  test_featurize_many()
  test_fittable()
  test_ignore_errors()
  test_indices()
  test_inplace()
  test_matrix()

    Test the ability to add features that are matrices to a dataframe

  test_multifeature_no_zero_index()

    Test whether multifeaturizer can handle series that lack a entry with index==0

  test_multifeatures_multiargs()
  test_multiindex_in_multifeaturizer()
  test_multiindex_inplace()
  test_multiindex_return()
  test_multiple()
  test_multiprocessing_df()
  test_multitype_multifeat()

    Test Multifeaturizer when a featurizer returns a non-numeric type

  test_precheck()
  test_stacked_featurizer()

## matminer.featurizers.tests.test_conversions module

class matminer.featurizers.tests.test_conversions.TestConversions(methodName='runTest')

  Bases: `PymatgenTest`

  test_ase_conversion()
  test_composition_to_oxidcomposition()
  test_composition_to_structurefromMP()
  test_conversion_multiindex()
  test_conversion_multiindex_dynamic()
  test_conversion_overwrite()
  test_dict_to_object()
  test_json_to_object()
  test_pymatgen_general_converter()
  test_str_to_composition()
  test_structure_to_composition()
  test_structure_to_oxidstructure()
  test_to_istructure()

## matminer.featurizers.tests.test_dos module

class matminer.featurizers.tests.test_dos.DOSFeaturesTest(methodName='runTest')

  Bases: `PymatgenTest`

  setUp()

    Hook method for setting up the test fixture before exercising it.

  test_DOSFeaturizer()
  test_DopingFermi()
  test_DosAsymmetry()
  test_Hybridization()
  test_SiteDOS()

## matminer.featurizers.tests.test_function module

class matminer.featurizers.tests.test_function.TestFunctionFeaturizer(methodName='runTest')

  Bases: `TestCase`

  setUp()

    Hook method for setting up the test fixture before exercising it.

  test_featurize()
  test_featurize_labels()
  test_helper_functions()
  test_multi_featurizer()

## Module contents