This repository contains the Python (3.8) package implementing the Material Optimal Descriptor Network (MODNet). It is a supervised machine learning framework for learning material properties from either the composition or crystal structure. The framework is well suited for limited datasets and can be used for learning multiple properties together by using joint learning.
MODNet appears on the MatBench leaderboard. As of 11/11/2021, MODNet provides the best performance of all submitted models on 7 out of 13 tasks.
This repository also contains two pretrained models that can be used for predicting the refractive index and vibrational thermodynamics from any crystal structure.
See the MODNet papers and repositories below for more details:
- De Breuck et al., "Materials property prediction for limited datasets enabled by feature selection and joint learning with MODNet." npj Comput Mater 7, 83 (2021). 10.1038/s41524-021-00552-2 (preprint: arXiv:2004.14766).
- De Breuck et al., "Robust model benchmarking and bias-imbalance in data-driven materials science: a case study on MODNet." J. Phys.: Condens. Matter 33 404002, (2021), 10.1088/1361-648X/ac1280 (preprint: arXiv:2102.02263).
- MatBench benchmarking data repository: ml-evs/modnet-matbench.
First, create a virtual environment (e.g., named modnet) with Python 3.8:
conda create -n modnet python=3.8
activate the environment:
conda activate modnet
Then, install pymatgen v2020.8.13 with conda, which will bundle several pre-built dependencies (e.g., numpy, scipy):
conda install -c conda-forge pymatgen=2020.8.13
Finally, install MODNet from PyPI with pip:
pip install modnet
The documentation is available at ReadTheDocs.
This software was written by Pierre-Paul De Breuck and Matthew Evans with contributions from David Waroquiers and Gregoire Heymans. For an up-to-date list, see the Contributors on GitHub.
MODNet is released under the MIT License.