Skip to content

This project utilizes advanced data analysis and machine learning techniques to predict equipment failures before they occur. The goal is to detect anomalies and possible defects in equipment and processes to enable preemptive maintenance, thereby reducing downtime and costs.

Notifications You must be signed in to change notification settings

Harsha2k3/predictive_maintenance_ML_Project

Repository files navigation

Predictive Maintenance Project

Overview

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.

Dataset

https://www.kaggle.com/datasets/shivamb/machine-predictive-maintenance-classification

Synthetic Dataset

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.

Addressing the Concern: Different Machines with Different Features

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.

Techniques used

  • 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.

Data Preparation

The dataset is preprocessed, and SMOTE (Synthetic Minority Over-sampling Technique) is applied to handle class imbalance.

Model Training

The CatBoost model is trained using Stratified K-Fold Cross-Validation to ensure robustness.

Explainability

LIME

LIME (Local Interpretable Model-agnostic Explanations) is used to provide explanations for the model's predictions.

Counterfactual Analysis

Counterfactual examples are generated to understand minimal changes needed for opposite outcomes.

Note

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

Installation

To get started with this project, follow these steps:

  1. Clone the repository:

    git clone https://github.com/Harsha2k3/YT_API_Channel_Comparator.git
    YT_API_Channel_Comparator
  2. Install the required dependencies:

    pip install -r requirements.txt
    
    

Usage

Run the main script:

python main.py

Contact :

  • For any inquiries or questions regarding the predictive maintenance ML Project, please reach out to [email protected]

About

This project utilizes advanced data analysis and machine learning techniques to predict equipment failures before they occur. The goal is to detect anomalies and possible defects in equipment and processes to enable preemptive maintenance, thereby reducing downtime and costs.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages