Skip to content
PallavraiPublic

About

Predictive maintenance system for industrial IoT sensor data. AriSense uses an XGBoost classifier to predict equipment maintenance requirements from real-time sensor readings. It achieves a 0.72 ROC-AUC and includes an interactive Streamlit dashboard for monitoring and decision support.

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

AriSense

Predictive maintenance system for industrial IoT sensor data.

AriSense uses an XGBoost classifier to predict equipment maintenance requirements from real-time sensor readings. It achieves a 0.72 ROC-AUC and includes an interactive Streamlit dashboard for monitoring and decision support.

Features

  • ML-powered predictions -- XGBoost binary classifier trained on the Smart Manufacturing IoT Monitoring Dataset
  • Interactive dashboard -- Streamlit UI with live prediction gauge, batch upload, and model insights
  • 6 sensor inputs -- Temperature, vibration, humidity, pressure, energy consumption, and anomaly flag
  • Batch processing -- Upload CSV files for bulk prediction with downloadable results
  • Model interpretability -- Feature importance visualization and model configuration details

Quick Start

# Install dependencies
pip install -r requirements.txt

# Train the model
python train.py

# Launch the dashboard
streamlit run app.py

Data

The model is trained on the Smart Manufacturing IoT Cloud Monitoring Dataset from Kaggle. The training script (train.py) downloads the dataset automatically via kagglehub.

Features

Feature Description Type
temperature Process temperature (Celsius) Continuous
vibration Machine vibration level Continuous
humidity Ambient humidity percentage Continuous
pressure System pressure Continuous
energy_consumption Power consumption Continuous
anomaly_flag Anomaly detection flag (0/1) Binary

Target

  • maintenance_required -- Binary classification: 1 = maintenance needed, 0 = normal operation

Usage

Single Prediction

python predict.py

Uses default sample values and outputs a prediction with probability score.

Batch Prediction (CSV)

python predict.py path/to/sensor_data.csv

The CSV must contain all 6 feature columns. Results are printed with Prediction and Probability columns appended.

Streamlit Dashboard

streamlit run app.py

The dashboard provides four views:

  1. Overview -- KPI metrics, feature importance chart, and sensor feature reference
  2. Predict -- Interactive sliders for each sensor input with a real-time probability gauge
  3. Batch Predict -- CSV upload with result distribution histogram and download
  4. Insights -- Feature importance ranking, cumulative importance chart, and model configuration

Model Performance

  • ROC-AUC: 0.72
  • Algorithm: XGBoost Classifier (300 estimators, max depth 6)
  • Dominant feature: anomaly_flag (96.3% importance)
  • Class imbalance handling: scale_pos_weight computed from training distribution
  • Evaluation metric: AUC-PR (Area Under Precision-Recall Curve)

Project Structure

arisense/
  app.py                  Streamlit dashboard
  train.py                Model training pipeline
  predict.py              CLI inference script
  requirements.txt        Python dependencies
  pyproject.toml          Project metadata and packaging
  Makefile                Common task runner
  artifacts/              Trained model, scaler, and feature columns
  docs/                   Additional documentation

Requirements

  • Python 3.10+
  • Dependencies listed in requirements.txt
  • macOS users: install libomp for XGBoost (brew install libomp)

License

MIT -- see LICENSE.

Contributing

Contributions are welcome. See CONTRIBUTING.md for guidelines.

About

Predictive maintenance system for industrial IoT sensor data. AriSense uses an XGBoost classifier to predict equipment maintenance requirements from real-time sensor readings. It achieves a 0.72 ROC-AUC and includes an interactive Streamlit dashboard for monitoring and decision support.

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages