Below, you will find a description of each featurizer, listed in tables grouped by module.

# bandstructure

## Features derived from a material’s electronic bandstructure.

`matminer.featurizers.bandstructure`

Name | Description
--- | ---
`BranchPointEnergy` | Branch point energy and absolute band edge position.
`BandFeaturizer` | Featurizes a pymatgen band structure object.

# base

## Parent classes and meta-featurizers.

`matminer.featurizers.base`

Name | Description
--- | ---
`MultipleFeaturizer` | Class to run multiple featurizers on the same input data.
`StackedFeaturizer` | Use the output of a machine learning model as features
`BaseFeaturizer` | Abstract class to calculate features from raw materials input data

# composition

## Features based on a material’s composition.

### alloy

`matminer.featurizers.composition.alloy`

> Composition featurizers specialized for use with alloys.

Name | Description
--- | ---
`Miedema` | Formation enthalpies of intermetallic compounds, from Miedema et al.
`YangSolidSolution` | Mixing thermochemistry and size mismatch terms of Yang and Zhang (2012)
`WenAlloys` | Calculate features for alloy properties.

### composite

`matminer.featurizers.composition.composite`

> Composition featurizers for composite features containing more than 1 category of general-purpose data.

Name | Description
--- | ---
`ElementProperty` | Class to calculate elemental property attributes.
`Meredig` | Class to calculate features as defined in Meredig et. al.

### element

`matminer.featurizers.composition.element`

> Composition featurizers for elemental data and stoichiometry.

Name | Description
--- | ---
`ElementFraction` | Class to calculate the atomic fraction of each element in a composition.
`TMetalFraction` | Class to calculate fraction of magnetic transition metals in a composition.
`Stoichiometry` | Calculate norms of stoichiometric attributes.
`BandCenter` | Estimation of absolute position of band center using electronegativity.

### ion

`matminer.featurizers.composition.ion`

> Composition featurizers for compositions with ionic data.

Name | Description
--- | ---
`OxidationStates` | Statistics about the oxidation states for each specie.
`IonProperty` | Ionic property attributes. Similar to ElementProperty.
`ElectronAffinity` | Calculate average electron affinity times formal charge of anion elements.
`ElectronegativityDiff` | Features from electronegativity differences between anions and cations.

### orbital

`matminer.featurizers.composition.orbital`

> Composition featurizers for orbital data.

Name | Description
--- | ---
`AtomicOrbitals` | Determine HOMO/LUMO features based on a composition.
`ValenceOrbital` | Attributes of valence orbital shells

### packing

`matminer.featurizers.composition.packing`

> Composition featurizers for determining packing characteristics.

Name | Description
--- | ---
`AtomicPackingEfficiency` | Packing efficiency based on a geometric theory of the amorphous packing

### thermo

`matminer.featurizers.composition.thermo`

> Composition featurizers for thermodynamic properties.

Name | Description
--- | ---
`CohesiveEnergy` | Cohesive energy per atom using elemental cohesive energies and
`CohesiveEnergyMP` | Cohesive energy per atom lookup using Materials Project

# conversions

## Conversion utilities.

`matminer.featurizers.conversions`

Name | Description
--- | ---
`ConversionFeaturizer` | Abstract class to perform data conversions.
`StrToComposition` | Utility featurizer to convert a string to a Composition
`StructureToComposition` | Utility featurizer to convert a Structure to a Composition.
`StructureToIStructure` | Utility featurizer to convert a Structure to an immutable IStructure.
`DictToObject` | Utility featurizer to decode a dict to Python object via MSON.
`JsonToObject` | Utility featurizer to decode json data to a Python object via MSON.
`StructureToOxidStructure` | Utility featurizer to add oxidation states to a pymatgen Structure.
`CompositionToOxidComposition` | Utility featurizer to add oxidation states to a pymatgen Composition.
`CompositionToStructureFromMP` | Featurizer to get a Structure object from Materials Project using the
`PymatgenFunctionApplicator` | Featurizer to run any function using on/from pymatgen primitives.
`ASEAtomstoStructure` | Convert dataframes of ase structures to pymatgen structures for further use with

# dos

## Features based on a material’s electronic density of states.

`matminer.featurizers.dos`

Name | Description
--- | ---
`SiteDOS` | report the fractional s/p/d/f dos for a particular site. a CompleteDos
`DOSFeaturizer` | Significant character and contribution of the density of state from a
`DopingFermi` | The fermi level (w.r.t. selected reference energy) associated with a
`Hybridization` | quantify s/p/d/f orbital character and their hybridizations at band edges
`DosAsymmetry` | Quantifies the asymmetry of the DOS near the Fermi level.

# function

## Classes for expanding sets of features calculated with other featurizers.

`matminer.featurizers.function`

Name | Description
--- | ---
`FunctionFeaturizer` | Features from functions applied to existing features, e.g. “1/x”

# site

## Features from individual sites in a material’s crystal structure.

### bonding

`matminer.featurizers.site.bonding`

> Site featurizers based on bonding.

Name | Description
--- | ---
`BondOrientationalParameter` | Averages of spherical harmonics of local neighbors
`AverageBondLength` | Determines the average bond length between one specific site
`AverageBondAngle` | Determines the average bond angles of a specific site with

### chemical

`matminer.featurizers.site.chemical`

> Site featurizers based on local chemical information, rather than geometry alone.

Name | Description
--- | ---
`ChemicalSRO` | Chemical short range ordering, deviation of local site and nominal structure compositions
`EwaldSiteEnergy` | Compute site energy from Coulombic interactions
`LocalPropertyDifference` | Differences in elemental properties between site and its neighboring sites.
`SiteElementalProperty` | Elemental properties of atom on a certain site

### external

`matminer.featurizers.site.external`

> Site featurizers requiring external libraries for core functionality.

Name | Description
--- | ---
`SOAP` | Smooth overlap of atomic positions (interface via DScribe).

### fingerprint

`matminer.featurizers.site.fingerprint`

> Site featurizers that fingerprint a site using local geometry.

Name | Description
--- | ---
`AGNIFingerprints` | Product integral of RDF and Gaussian window function, from Botu et al.
`OPSiteFingerprint` | Local structure order parameters computed from a site’s neighbor env.
`CrystalNNFingerprint` | A local order parameter fingerprint for periodic crystals.
`VoronoiFingerprint` | Voronoi tessellation-based features around target site.
`ChemEnvSiteFingerprint` | Resemblance of given sites to ideal environments

### misc

`matminer.featurizers.site.misc`

> Miscellaneous site featurizers.

Name | Description
--- | ---
`IntersticeDistribution` | Interstice distribution in the neighboring cluster around an atom site.
`CoordinationNumber` | Number of first nearest neighbors of a site.

### rdf

`matminer.featurizers.site.rdf`

> Site featurizers based on distribution functions.

Name | Description
--- | ---
`GaussianSymmFunc` | Gaussian symmetry function features suggested by Behler et al.
`GeneralizedRadialDistributionFunction` | Compute the general radial distribution function (GRDF) for a site.
`AngularFourierSeries` | Compute the angular Fourier series (AFS), including both angular and radial info

# structure

## Generating features based on a material’s crystal structure.

### bonding

`matminer.featurizers.structure.bonding`

> Structure featurizers based on bonding.

Name | Description
--- | ---
`BondFractions` | Compute the fraction of each bond in a structure, based on NearestNeighbors.
`BagofBonds` | Compute a Bag of Bonds vector, as first described by Hansen et al. (2015).
`GlobalInstabilityIndex` | The global instability index of a structure.
`StructuralHeterogeneity` | Variance in the bond lengths and atomic volumes in a structure
`MinimumRelativeDistances` | Determines the relative distance of each site to its closest neighbor.

### composite

`matminer.featurizers.structure.composite`

> Structure featurizers producing more than one kind of structue feature data.

Name | Description
--- | ---
`JarvisCFID` | Classical Force-Field Inspired Descriptors (CFID) from Jarvis-ML.

### matrix

`matminer.featurizers.structure.matrix`

> Structure featurizers generating a matrix for each structure. Most matrix structure featurizers contain the ability to flatten matrices to be dataframe-friendly.

Name | Description
--- | ---
`CoulombMatrix` | The Coulomb matrix, a representation of nuclear coulombic interaction.
`SineCoulombMatrix` | A variant of the Coulomb matrix developed for periodic crystals.
`OrbitalFieldMatrix` | Representation based on the valence shell electrons of neighboring atoms.

### misc

`matminer.featurizers.structure.misc`

> Miscellaneous structure featurizers.

Name | Description
--- | ---
`EwaldEnergy` | Compute the energy from Coulombic interactions.
`StructureComposition` | Features related to the composition of a structure
`XRDPowderPattern` | 1D array representing powder diffraction of a structure as calculated by

### order

`matminer.featurizers.structure.order`

> Structure featurizers based on packing or ordering.

Name | Description
--- | ---
`DensityFeatures` | Calculates density and density-like features
`ChemicalOrdering` | How much the ordering of species in the structure differs from random
`MaximumPackingEfficiency` | Maximum possible packing efficiency of this structure
`StructuralComplexity` | Shannon information entropy of a structure.

### rdf

`matminer.featurizers.structure.rdf`

> Structure featurizers implementing radial distribution functions.

Name | Description
--- | ---
`RadialDistributionFunction` | Calculate the radial distribution function (RDF) of a crystal structure.
`PartialRadialDistributionFunction` | Compute the partial radial distribution function (PRDF) of an xtal structure
`ElectronicRadialDistributionFunction` | Calculate the inherent electronic radial distribution function (ReDF)

### sites

`matminer.featurizers.structure.sites`

> Structure featurizers based on aggregating site features.

Name | Description
--- | ---
`SiteStatsFingerprint` | Computes statistics of properties across all sites in a structure.

### symmetry

`matminer.featurizers.structure.symmetry`

> Structure featurizers based on symmetry.

Name | Description
--- | ---
`GlobalSymmetryFeatures` | Determines symmetry features, e.g. spacegroup number and crystal system
`Dimensionality` | Returns dimensionality of structure: 1 means linear chains of atoms OR