Machine learning (ML) has been applied with success across numerous prognostics and health management (PHM) applications. However, ML models can be fragile under changing operational conditions. For example, a distributional shift in the collected data can cause a significant degradation in performance of the model. Successfully deploying and operationalizing ML-based PHM systems requires the ability to detect and respond to out-of-distribution (OOD) data, i.e., data that is not independent and identically distributed to the training set. This research project has developed an experimental testbed designed for producing data sets under various operational conditions that can be used to develop ML models and frameworks for adapting to OOD data. This repository contains the code for training and evaluating ML models under varying test conditions.
The data set can be downloaded from here.
- binary_classification_rf.py - train and evaluate a random forest classifier for binary classification of misalignement
- multiclass_classification_rf.py - train and evaluate a random forest classifier for multi-class classification of the amount of misalignment
- ood_class_classification.py - removes alignment classes from the training set
- ood_rpm_classification.py - remove RPM conditions from the training set
- trainsfer_distance_calculations.py - calculates the transfer distance between alignment classes and RPM conditions
- matplotlib
- pandas
- numpy
- scikit-learn