library_name: sklearn
tags:
- tabular-regression
- materials property prediction
- baseline-trainer
widget:
structuredData:
Sc:
- 0
Ti:
- 0
V:
- 0
Cr:
- 0
Mn:
- 0
Fe:
- 12
Co:
- 2
Ni:
- 0
Cu:
- 0
Al:
- 0
Si:
- 0
Ga:
- 0
Ge:
- 0
Be:
- 0
Nb:
- 0
Mo:
- 0
Re:
- 0
Ru:
- 0
La:
- 0
Ce:
- 0
Pr:
- 1.9
Nd:
- 0
Sm:
- 0
Eu:
- 0
Gd:
- 0
Tb:
- 0.1
Dy:
- 0
Ho:
- 0
Er:
- 0
Tm:
- 0
Yb:
- 0
Lu:
- 0
Th:
- 0
'Y':
- 0
Zr:
- 0
B:
- 0
C:
- 0
Model Description
The magnet Curie temperature (Tc [K]) predictor model has been trained using a supervised learning approach on a specific set of magnet classes having 14:2:1 phases. The dataset to train the Tc prediction model is a distinct literature source. Further, the Tc values for various 14:2:1 magnet phases at room temperature are considered for dataset creation.
It predicts the Tc value using the chemical composition as a feature.
E.g: To predict the Tc value Nd2Fe14B1 magnet composition, the features are Nd=2, Fe=14, and B=1.
Application & Limitations
The trained model is valid for 14:2:1 phases only, which are stoichiometric compositions and the predicted Tc value is in Kelvin and at room temperature.
Model Plot
VotingRegressor(estimators=[('ET', ExtraTreesRegressor()),
('XGB',
XGBRegressor(alpha=0.5, base_score=0.5,
booster='gbtree', colsample_bylevel=1,
colsample_bynode=1,
colsample_bytree=0.4,
enable_categorical=False, gamma=0,
gpu_id=-1, importance_type=None,
interaction_constraints='',
learning_rate=0.2, max_delta_step=0,
max_depth=2, min_child_weight=1,
missing=nan,
mo...
n_estimators=1000, n_jobs=8,
num_parallel_tree=1, predictor='auto',
random_state=0, reg_alpha=0.5,
reg_lambda=1, scale_pos_weight=1,
subsample=1, tree_method='exact',
validate_parameters=1,
verbosity=None)),
('RF', RandomForestRegressor(max_depth=100)),
('AB',
AdaBoostRegressor(base_estimator=RandomForestRegressor(max_depth=50,
n_estimators=50),
learning_rate=0.001))])
How to use the trained model for inference
import json
from joblib
import pandas as pd
Tc_predictor = load('Magnet_Tc_predictor.joblib') # trained model
config = json.load(open('config.json')) # config file
features = config['features'] # feature extraction
#data = pd.read_excel("data.xlsx") # read test file with new compositions
data = data[features]
#data.columns = ["feat_" + str(col) for col in data.columns]
Predicted_value = Tc_predictor.predict(data) # predict Tc values
print("Predicted Tc value is: {0:.2f}'.format(predictions)")