Tuesday

Predictive Maintenance Using Machine Learning

Context: A manufacturing company wants to predict when equipment is likely to fail, so they can schedule maintenance and reduce downtime.

Dataset: The company collects data on equipment sensor readings, maintenance records, and failure events.

Libraries:

pandas for data manipulation

numpy for numerical computations

scikit-learn for machine learning

matplotlib and seaborn for visualization

Code:


# Import libraries

import pandas as pd

import numpy as np

from sklearn.model_selection import train_test_split

from sklearn.ensemble import RandomForestClassifier

from sklearn.metrics import accuracy_score, classification_report

import matplotlib.pyplot as plt

import seaborn as sns


# Load dataset

df = pd.read_csv('equipment_data.csv')


# Preprocess data

df['failure'] = df['failure'].map({'yes': 1, 'no': 0})

X = df.drop(['failure'], axis=1)

y = df['failure']


# Split data into training and testing sets

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)


# Train random forest classifier

rfc = RandomForestClassifier(n_estimators=100, random_state=42)

rfc.fit(X_train, y_train)


# Make predictions

y_pred = rfc.predict(X_test)


# Evaluate model

accuracy = accuracy_score(y_test, y_pred)

print("Accuracy:", accuracy)

print("Classification Report:")

print(classification_report(y_test, y_pred))


# Visualize feature importance

feature_importance = rfc.feature_importances_

plt.figure(figsize=(10, 6))

sns.barplot(x=X.columns, y=feature_importance)

plt.title("Feature Importance")

plt.show()


# Use the model for predictive maintenance

new_data = pd.DataFrame({'sensor1': [10], 'sensor2': [20], 'sensor3': [30]})

prediction = rfc.predict(new_data)

print("Prediction:", prediction)


Explanation:

Load the dataset and preprocess it by converting the 'failure' column to binary (0/1).

Split the data into training and testing sets.

Train a random forest classifier on the training data.

Make predictions on the testing data and evaluate the model's accuracy.

Visualize the feature importance to understand which sensors are most predictive of failure.

Use the trained model to make predictions on new, unseen data.

You can get the predictive maintenance dataset from Kaggle

If you want to learn real-life use cases of AI, ML, DL and GenAI then can contact me. 

No comments: