--- language: id license: mit tags: - tabular - random-forest - predictive-maintenance - rul-prediction - scikit-learn metrics: - mean-absolute-error pretty_name: Predictive Maintenance Random Forest Regressor --- # Predictive Maintenance - Machine RUL Regressor Model ini adalah regressor berbasis **Random Forest** untuk memprediksi **Remaining Useful Life (RUL)** atau sisa masa operasional aman (dalam satuan hari) dari mesin-mesin industri sebelum mengalami kerusakan mekanikal berikutnya. Model ini merupakan bagian inti dari **Sistem Laporan & Pencegahan Kerusakan Preventif berbasis AI**. ## 📊 Detail Model & Fitur Model dilatih menggunakan algoritma `RandomForestRegressor` (100 estimators) dengan fitur-fitur masukan (*tabular features*) sebagai berikut: 1. **`days_since_last_failure`** (int): Jumlah hari sejak kerusakan mekanikal terakhir terjadi pada mesin. 2. **`fail_last_30d`** (int): Frekuensi kerusakan mesin dalam rentang waktu 30 hari terakhir. 3. **`mtbf`** (float): Mean Time Between Failures (historis rata-rata jarak antarkerusakan mesin tersebut). **Target Output:** - **`target_rul`** (float): Prediksi jumlah hari tersisa sebelum mesin diprediksi akan mengalami kerusakan berikutnya. --- ## 🚀 Cara Menggunakan Model Anda dapat memuat model ini menggunakan Python dengan library `pickle` dan `scikit-learn` setelah mengunduh file `.pkl`: ```python import pickle import pandas as pd # 1. Unduh file 'predictive_rf_model.pkl' dari Hub # 2. Muat file model menggunakan pickle with open("predictive_rf_model.pkl", "rb") as f: model_data = pickle.load(f) # Model acuan rf_model = model_data['rf_model'] df_mtbf = model_data['df_mtbf'] print("Model terdaftar untuk mesin:", model_data['failing_machines']) print("Tanggal Pelatihan:", model_data.get('trained_at')) # 3. Jalankan prediksi kustom # Contoh: Mesin dengan 10 hari sejak rusak terakhir, 1 kerusakan dalam 30 hari, MTBF 42 hari features = pd.DataFrame([{ 'days_since_last_failure': 10, 'fail_last_30d': 1, 'mtbf': 42.0 }]) pred_rul = rf_model.predict(features)[0] print(f"Prediksi Sisa Umur Mesin (RUL): {pred_rul:.1f} Hari") ``` --- ## 🛠️ Persyaratan Library Untuk menjalankan model ini, pastikan versi library berikut sudah terinstal di environment Anda: - `scikit-learn>=1.3.0` - `pandas>=2.0.0` - `numpy>=1.24.0` --- *Model Card ini dihasilkan secara otomatis oleh Asisten AI Antigravity.*