Machine learning guided optimal composition selection of niobium alloys for high temperature applications
First, we created a high dimensional input feature space for each alloy composition based on the domain knowledge-based material descriptors. Then, a machine learning model was trained to predict the targeted property by learning the alloys’ feature-property relationship. A virtual quaternary and quinary alloy compositions space has been created and using the trained machine learning model with bootstrapping technique we estimated the uncertainties for each candidate in virtual space. Thereafter, the Bayesian optimization algorithm was applied which evaluated a utility function based on the uncertainties of prediction for each candidate to suggest suitable alloy composition.
-
main_candidate_search_UTS_quaternary.ipynb : Python program file suggest the best quarternay alloy candidates for optimizing UTS
-
main_candidate_search_YS_quaternary.ipynb : Python program file suggest the best quarternay alloy candidates for optimizing YS
-
main_candidate_search_addition_quaternay.ipynb : Python program file suggest the best quarternay alloy candidates for optimizing composite target (addition)
-
main_candidate_search_Sqrt_quaternary.ipynb : Python program file suggest the best quarternay alloy candidates for optimizing composite target (Sqrt)
-
EI_Calculation_chunkwise.ipynb : Python program file to calcualte the EI values for large candidate size (quinary alloy having more than 74 million candidates)
Mechanical properties prediction and peformance comparison between different models with different featurizaton:
-
UTS_Oliynyk.ipynb : Python program file to compare perfromance in predicting UTS value for differnt ml models GBR, RF, SVR, KNN using Oliynyk feature
-
UTS_SelectedFeatures.ipynb : Python program file to compare perfromance in predicting UTS value for differnt ml models GBR, RF, SVR, KNN using domain knowledge based features
-
UTS_composition.ipynb : Python program file to compare perfromance in predicting UTS value for differnt ml models GBR, RF, SVR, KNN using atom percentage of alloying elements as features
-
YS_Oliynyk.ipynb : Python program file to compare perfromance in predicting YS value for differnt ml models GBR, RF, SVR, KNN using Oliynyk feature
-
YS_SelectedFeatures.ipynb : Python program file to compare perfromance in predicting YS value for differnt ml models GBR, RF, SVR, KNN using domain knowledge based features
-
YS_composition.ipynb : Python program file to compare perfromance in predicting YS value for differnt ml models GBR, RF, SVR, KNN using domain knowledge based features
-
Virtual_candidates_alloy_derivation.ipynb : Python program file for creating the virtual alloy candidates depending on different combinations such as quaternay/quinary/senary
-
Nb_strength_data_splitting_F.ipynb : Python program file for splitting the original data into different train/test datasets based on alloy uniqueness so that the alloy present in the training data should not repeat in the test dataset
-
performance_diff_traintest_split.ipynb : Python program file to compare the performance for differnt train/test split of the original alloy dataset
-
UMAP_All.ipynb : Pyhton program file to represent the alloy compostitons (Experimental as well as Suggested) in the two dimensional UMAP representations
-
MOO_relationship.ipynb : Python program file to represent the relationship between YS, UTS and the composite properties for Multi Objective optimization
-
MLP_UTS.ipynb : Python program file for performance evaluation of Multi Layer Perceptron for UTS prediction
-
MLP_YS.ipynb : Python program file for performance evaluation of Multi Layer Perceptron for YS prediction
-
Dstance_suggested_alloy.ipynb : Eucledian Distance of all suggested alloy candidates from Nb87.7W11.2Zr1.1 (highest performing existing alloy)
-
Nb_Dataset.ipynb : Visualization of Nb alloy existing strength data
Python 3.9.6
numpy 1.20.3
scipy 1.7.0
pandas 1.3.0
matplotlib 3.4.2
seaborn 0.11.1
scikit-learn 0.24.2
umap-learn 0.5.2
tensorflow 2.11.0