End-to-end predictive maintenance solution using IoT sensor data to predict equipment failure and optimize maintenance schedules.
Note: This notebook viewer shows all markdown cells and visualizations, with approximately 25% of code cells expanded by default. Click "Show Code" on any cell to view the implementation details.
This project demonstrates a predictive maintenance model for manufacturing equipment using sensor data. The goal is to predict potential failures before they occur, reducing downtime and maintenance costs.
1. **Data Ingestion:** Process real-time IoT sensor streams (vibration, temperature, pressure).
2. **Feature Engineering:** Extract rolling statistics and frequency-domain features.
3. **Modeling:** Train a Random Forest classifier to predict 'Failure' vs 'Normal' states.
4. **Evaluation:** Optimize for Recall to minimize missed failures.
import pandas as pd
import numpy as np
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import classification_report, confusion_matrix
import matplotlib.pyplot as plt
import seaborn as sns
# Load sensor data
df = pd.read_csv('sensor_data.csv')
# Feature Engineering: Rolling averages
window_size = 24 # 24-hour window
df['temp_rolling_mean'] = df['temperature'].rolling(window=window_size).mean()
df['vibration_rolling_std'] = df['vibration'].rolling(window=window_size).std()
# Drop NaN values created by rolling window
df.dropna(inplace=True)
# Define features and target
X = df[['temperature', 'pressure', 'vibration', 'temp_rolling_mean', 'vibration_rolling_std']]
y = df['failure_status']
# Split data
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
print(f"Training samples: {X_train.shape[0]}")
print(f"Testing samples: {X_test.shape[0]}")Training samples: 8500 Testing samples: 2125
We use a Random Forest Classifier due to its robustness to noise and ability to handle non-linear relationships in sensor data.
Understanding which sensors contribute most to failure prediction is crucial for root cause analysis.