Predictive maintenance is a technique that uses data analysis tools and techniques to detect anomalies in operations and possible defects in equipment and processes so they can be fixed before they result in failure. This project demonstrates how to implement a predictive maintenance solution using a combination of machine learning, explainable AI, and web technologies.
https://www.kaggle.com/datasets/shivamb/machine-predictive-maintenance-classification
Since real predictive maintenance datasets are generally difficult to obtain and in particular difficult to publish, we present and provide a synthetic dataset that reflects real predictive maintenance encountered in the industry to the best of our knowledge.
You might wonder, "But in the industry, different machines have different features and working conditions, right?" The synthetic dataset is designed to include a broad range of features and scenarios that are commonly found across different types of machines. While it may not capture the specifics of every individual machine, it can generalize the most important factors that affect maintenance needs.
- SMOTE (Synthetic Minority Over-sampling Technique): Used to balance the dataset by generating synthetic samples for minority classes.
- Stratified K-Fold Cross-Validation: Ensures each fold maintains the same proportion of observations for each target class as the complete dataset.
- CatBoost: A gradient boosting algorithm used for building the predictive model.
- LIME (Local Interpretable Model-agnostic Explanations): Provides explanations for the predictions made by the model.
- Counterfactuals: Generates the smallest changes to input instances that result in an opposite outcome, providing insights into model behavior.
The dataset is preprocessed, and SMOTE (Synthetic Minority Over-sampling Technique) is applied to handle class imbalance.
The CatBoost model is trained using Stratified K-Fold Cross-Validation to ensure robustness.
LIME (Local Interpretable Model-agnostic Explanations) is used to provide explanations for the model's predictions.
Counterfactual examples are generated to understand minimal changes needed for opposite outcomes.
Please use this project only if your machine's features fall within the following ranges:
-
Air temperature [K]:
- Max: 304.5
- Min: 295.3
-
Process temperature [K]:
- Max: 313.8
- Min: 305.7
-
Rotational speed [rpm]:
- Max: 2886
- Min: 1168
-
Torque [Nm]:
- Max: 76.6
- Min: 3.8
-
Tool wear [min]:
- Max: 253
- Min: 0
To get started with this project, follow these steps:
-
Clone the repository:
git clone https://github.com/Harsha2k3/YT_API_Channel_Comparator.git YT_API_Channel_Comparator
-
Install the required dependencies:
pip install -r requirements.txt
Run the main script:
python main.py
- For any inquiries or questions regarding the predictive maintenance ML Project, please reach out to [email protected]