ElementalFeatureGenerator

class mastml.feature_generators.ElementalFeatureGenerator(featurize_df, feature_types=None, remove_constant_columns=False)[source]

Bases: BaseGenerator

Class that is used to create elemental-based features from material composition strings

Args:

featurize_df: (pd.DataFrame), dataframe containing vector of chemical compositions (strings) to generate elemental features from

feature_types: (list), list of strings denoting which elemental feature types to include in the final feature matrix. The choices

include: composition_avg (takes the composition-weighted average of features), arithmetic_avg (takes the average of individual elements present, neglecting their relative amounts), max (takes max of elements present), min (takes min of elements present), difference (takes max-min of elements present)

remove_constant_columns: (bool), whether to remove constant columns from the generated feature set. It is recommended

for this to be set to False to preserve as many features as possible, to avoid potential issues at inference time when features for new test points need to be generated.

Methods:
fit: pass through, copies input columns as pre-generated features
Args:

X: (pd.DataFrame), input dataframe containing X data

y: (pd.Series), series containing y data

transform: generate the elemental feature matrix from composition strings
Args:

None.

Returns:

X: (dataframe), output dataframe containing generated features

y: (series), output y data as series

Methods Summary

fit([X, y])

generate_magpie_features()

transform([X])

Methods Documentation

fit(X=None, y=None)[source]
generate_magpie_features()[source]
transform(X=None)[source]