Magnet_Tc_predictor / README.md
IMFAA's picture
Update README.md
bc9f87f
|
raw
history blame
2.37 kB
metadata
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 pipeline

The voting regressor to predict the Tc combines the following four base models and equal weight is assigned to each base models.

  1. Extra tree regressor (ET)
  2. Extreme gradient boosting (XGB)
  3. Random forest regressor (RF)
  4. Adaptive boosted RF regressor (AB)

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)")