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.