/Phosphor_PL_ML

Tutorial of ML model

Primary LanguageJupyter NotebookGNU General Public License v3.0GPL-3.0

Machine learning investigation to predict the relationship between photoluminescence and crystalline properties of Blue Phosphor Ba0.9-xSrxMgAl10o17:Eu2+

Kim, Tae-Guan; Jurakuziev, Dadajon Boykuzi Ugli; Akhtar, M.Shaheer; Yang, O-Bong;

Graduate School of Integrated Energy-AI, Jeonbuk National University, Korea, 54896

Corresponding author: Akhtar, M.Shaheer (shaheerakhtar@jbnu.ac.kr); Yang, O-Bong (obyang@jbnu.ac.kr)


Python PyCaret Flask

1. Purpose

To predict the relationship between photoluminescence and crystalline properties of blue phosphor Ba0.9-xSrxMgAl10O17:Eu2+ using machine learning.

2. Data availability

Derived data supporting the findings of this study are available from the corresponding author on request.

3. System requirements

The source code is tested of the following 64-bit systems:

  • Ubuntu 18.04 LTS
  • Windows 10
  • Python 3.7.13

Install required packages

pip install -r requirements.txt

4. Notebook contents

Import libraries

import pandas as pd
import matplotlib.pyplot as plt
from pandas_profiling import ProfileReport
from pycaret.regression import *
import seaborn as sns

Data preparation

df = pd.read_csv('./datasets/dataset.csv', encoding="UTF-8")
print(df.head())
print(df.columns)

Pearson Correlation Analysis

sns.set(font_scale=1.1)
plt.figure(figsize=(9,8))
corr= df.corr()
sns.heatmap(corr, annot=True, square=False, vmin=-1.0, vmax=1.0, cmap="BuGn",annot_kws={"size": 20}); #annot parameter fills the cells with the relative correlation coefficient, which ranges from -1 to 1
plt.savefig("test.png")

Feature Engineering

from pycaret.regression import *
MachineLearning_Model = setup(data = df, target = 'Wavelength', session_id=123, train_size = 0.8,
                   log_experiment = True, experiment_name = 'Crystal_Structure_PL-Prediction')

Modeling

top5 = compare_models(sort='R2', n_select=5)

Blend top5 models into an ensemble Voting Regressor model

blender_top5 = blend_models(estimator_list=top5)

Predicting

final_model_1 = finalize_model(blender_top5)
prediction = predict_model(final_model_1)

License

This project is licensed under the terms of the GNU General Public License v3.0

Citations: tobe defined later

@inproceedings{???,
  title   = {Machine learning investigation to predict the relationship between photoluminescence and crystalline properties of Blue Phosphor Ba0.9-xSrxMgAl10o17:Eu2+},
  author  = {Kim, Tae-Guan; Jurakuziev, Dadajon Boykuzi Ugli; Akhtar, M.Shaheer; Yang, O-Bong;},
  year    = {2022}
}