Machine learning models for predicting the single-phase synthesizability of high-entropy-ceramic carbides (HECCs)
If you found strange errors for running scripts under this repo on Windows, please try again on Linux instead.
python predict_from_formula.py -h
Any uninstalled modules can be installed by pip
or anaconda
. Click here for more details.
Output:
HECC phase prediction.
optional arguments:
-h, --help show this help message and exit
--ann_model_path ANN_MODEL_PATH
Path to the ANN model.
--svm_model_path SVM_MODEL_PATH
Path to the SVM model.
--max_min_path MAX_MIN_PATH
Path to the file that contains the max and min values
of previous features.
--formula FORMULA [FORMULA ...]
A list of chemical formula that contains the cations
only.
Example:
Run:
python predict_from_formula.py --formula TiVCrNbTa VCrNbMoTa TiVCrZrMo # Only cations should be included here.
Output:
Phase code: Single phase: 0.0; multi phase: 1.0
Prediction(s) from ANN: 0.049 0.047 1.000
Prediction(s) from SVM: 0.000 0.000 1.000
Note:
-
These formulas give the same result:
TiVCrNbTa
,Ti1V1C1rNb1Ta1
,Ti0.2V0.2Cr0.2Nb0.2Ta0.2
,Ti0.03V0.03Cr0.03Nb0.03Ta0.03
. -
Direct predictions in the
output
are themulti-phase probability
, NOT thesingle-phase probability
because single- and multi-phase samples were labeled as0
and1
, respectively.
2. Source code of Artificial neural network
3. Source code of Support vector machine
Feature | Description |
---|---|
ΔSmix | Mixing entropy |
Vaverage | Average volume of constituent TMCs per formula unit |
σV | Volume deviation of constituent TMCs |
maverage | Average mass of constituent TMCs per formula unit |
σm | Mass deviation of constituent TMCs |
ρaverage | Average density of constituent TMCs |
σρ | Density deviation of constituent TMCs |
σχ | Deviation of electronegativity of constituent TMCs |
VECaverage | Valence electron concentration (VEC) of HECC candidates |
σVEC | VEC deviation of constituent TMCs |
Data of all input features: click here
- Python 3.8.5
- numpy==1.19.5
- pymatgen==2020.11.11
- tensorflow==2.4.1
- scikit-learn==0.24.1