Skip to content

v0.3.0

Compare
Choose a tag to compare
@ppdebreuck ppdebreuck released this 01 Jun 14:32
· 38 commits to master since this release

What's Changed

  1. Impute missing values by @gbrunin in #149
    After the featurization, the NaNs are not replaced by 0 anymore. The infinite values are replaced by NaNs. Then, the NaNs are handled when fitting the model using a SimpleImputer which can be chosen. It is then stored as an attribute to the model, and can be re-used when predicting new values. The scaler can also be chosen (StandardScaler or MinMaxScaler), and the user can also choose to first impute then scale, or first scale then impute. Both can be argued (do we want to keep the same distribution as the initial feature, or to change it by moving the NaNs outside the distribution).

  2. New featurizer presets by @gbrunin in #150
    The full list of featurizers are:

  • DeBreuck2020Featurizer,
  • CompositionOnlyFeaturizer,
  • Matminer2023Featurizer,
  • MatminerAll2023Featurizer,
  • CompositionOnlyMatminer2023Featurizer,
  • CompositionOnlyMatminerAll2023Featurizer,
    It also adds the possibility to use only features that are continuous with respect to the composition. Some features are by their nature not continuous, which can lead to unphysical discontinuities when predicting a property as a function of the materials composition.
  1. Introducing better customisation by @ppdebreuck in #148
  • Running feature selection only on a subset of properties present in the MODData. feature_ selection() now enables this with ignore_names.
  • By default, FitGenetic will proceed by using joint-learning when multiple targets are given in the MODData. This can now be avoided by using ignore_names in FitGenetic().
  • MODNetModel.fit() can take optional fit_params that are passed through to Keras model.fit().
  • fit_params can also be passed to FitGenetic.run()
  • MODNetModel.fit() can take a custom loss function.
  • FitGenetic() can take a custom loss function.
  • Custom data can be passed trough MODNetModel.fit(). It will be appended to the targets (axis=-1). This can be useful for defining custom loss functions.
  • Any property called custom_data in FitGenetic is ignored, and appended to the targets (axis=-1). This can be useful for defining custom loss functions.
  1. Add get_params and set_params to the MODNet model by @gbrunin in #151
    This includes renaming of the the EnsembleMODNetModel ´modnet_models´ arg to ´models´

New Contributors 🎉

  • @gbrunin made their first contribution in #149
    Thanks Guillaume Brunin !

Full Changelog: v0.2.1...v0.3.0