Downloads · 30 days
0
alirezaaminzadeh/rotaguard-vibration-classifier
rotaguard-vibration-classifier is a tabular classification model from alirezaaminzadeh. Use it for the tabular classification task on the model card, and read the license before you ship it in a product. It is set up for lightgbm. The card lists the license as mit.
LightGBM multiclass classifier that maps 19 time/frequency/envelope-spectrum features (extracted from a 4096-sample, 12 kHz bearing-vibration segment) to one of 12 labels: Normal, or {IR,OR,B}{7,14,21,28} (fault locat…
Downloads · 30 days
0
Access
Public
Updated Sep 8, 2026
Repo size
3.2 MB
Likes
0
Public
Click a slice to open those files.
.joblib3.2 MB · 100%
From the Hugging Face model README
LightGBM multiclass classifier that maps 19 time/frequency/envelope-spectrum features (extracted from a 4096-sample,
12 kHz bearing-vibration segment) to one of 12 labels: Normal, or {IR,OR,B}_{7,14,21,28} (fault location ×
severity in mil, i.e. thousandths of an inch defect diameter).
Trained on the public CWRU Bearing Data Center 12 kHz drive-end dataset — a real motor-bearing test rig, not an in-situ oil & gas pump/compressor/turbine. The bearing-fault physics (inner/outer race, ball defects) transfers directly to industrial rotating equipment; the specific test machine does not. See the dataset card for the full evaluation-protocol caveats (matched-condition split, not cross-load).
| Metric | Value |
|---|---|
| Accuracy | 100% |
| Macro-F1 | 100% |
| Published baseline (same public dataset family) | Accuracy | Citation |
|---|---|---|
| Random Forest + FFT features | ~99% | IEEE ICREST 2019, doi:10.1109/icrest.2019.8644089 |
| Random Forest, Relief-F optimized | 98.68% | Zhao et al. (2025), Machines 13(3):183, doi:10.3390/machines13030183 |
| Foundational benchmark protocol | — | Smith & Randall (2015), Mech. Systems and Signal Processing 64-65:100-131 |
Full confusion matrix and per-class accuracy are in eval_results.json. A 100% held-out score is plausible (and
consistent with the ~99-100% range other public studies report) precisely because train/test is a matched-condition
split (same 4 load conditions in both) with a rich hand-engineered feature set — not evidence of leakage. Cross-load
generalization (train on some loads, test on unseen loads) is a separately-studied, harder benchmark variant and is
not what is certified here; recalibrate/re-validate before any cross-load or field deployment.
vibration_classifier.joblib — LightGBM LGBMClassifier (150 trees, depth 6)eval_results.json — held-out protocol, confusion matrix, published-baseline citationsmanifest.json — feature column order, label setimport joblib, numpy as np
from scipy.signal import hilbert
from scipy.stats import kurtosis, skew
clf = joblib.load("vibration_classifier.joblib")
# x: raw 4096-sample, 12 kHz vibration segment (1D float array)
# Recompute the 19 features with rotaguard.features_vibration.extract_features(x[None, :])
# (see the Space's src/rotaguard/features_vibration.py for the exact vectorized formulas)
proba = clf.predict_proba(features)[0]
label = clf.classes_[proba.argmax()]
MIT · Aria AI Engineering Team