This is a set of Python codes based on the Scikit-learn library to predict a property for a set of given materials. Our choice of materials is functionalized MXenes, and the property of interest is their GW-level band gap.
Before using this package, ensure the following software/files is installed/available:
- Python
- Python Libraries :
Numpy
Scipy
matplotlib
scikit-learn
(library for machine learning purposes)
- Jupyter Notebook
- Reads X (given features) and y (desired property)
- Generates primary and compound features (by applying math operations)
- Uses
LASSO
andRandom Forest regressor
to reduce/select important features - Apply techniques such as
linear regression
andkernel ridge regression
for property prediction
Assuming that you have the necessary input files (features and the desired property for several materials),
you can simply run:
python ml-2nd-level.py
or
jupyter-notebook KRR-tune-hyperparam.ipynb
The notebook GBR-85x12-100_50_0.1.ipynb
also has examples on
SupportVectorMachine Regressor
withGridSearchCV
AdaBoostRegressor
GradientBoostingRegressor
We can run this notebook by
jupyter-notebook GBR-85x12-100_50_0.1.ipynb
More details about machine learning based property prediction can be found in our paper: A. C. Rajan et al. Chem. Mater. 2018.
© Arun Rajan @2018