File size: 2,497 Bytes
a4ef350
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
---

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.*