thc_cons / tools /README.md
dvsaudit's picture
Upload 7 files
bd15e44 verified
|
Raw
History Blame Contribute Delete
3.2 kB
# πŸ”§ Tools Directory
Folder ini berisi model machine learning dan konfigurasi untuk anomali detection.
---
## πŸ“¦ Files Required
```
tools/
β”œβ”€β”€ scaler.pkl ← StandardScaler model (binary)
β”œβ”€β”€ isolation_forest.pkl ← Isolation Forest model (binary)
β”œβ”€β”€ metadata.json ← Configuration
β”œβ”€β”€ model_train.py ← Training script (optional)
└── simpanan_analisis.py ← Helper functions (optional)
```
---
## πŸ“‹ File Descriptions
### scaler.pkl
- **Type:** Binary (Pickle format)
- **Purpose:** Standardize features untuk ML model
- **Used by:** Tab 2 (Analisa Simpanan)
- **Size:** ~1-2 KB
### isolation_forest.pkl
- **Type:** Binary (Pickle format)
- **Purpose:** Pre-trained Isolation Forest model untuk anomali detection
- **Used by:** Tab 2 (Analisa Simpanan)
- **Features:** 8 fitur (Db_Sukarela dan Cr_Sukarela aggregates)
- **Size:** ~10-50 KB
### metadata.json
- **Type:** JSON (Text)
- **Purpose:** Konfigurasi model dan parameter
- **Content:**
```json
{
"feature_cols": [...], // Nama kolom untuk model
"rolling_zscore_threshold": 1.0, // Threshold untuk Z-Score
"rolling_window": 3 // Window size untuk rolling aggregation
}
```
### model_train.py (Optional)
Script untuk melatih ulang model jika diperlukan.
### simpanan_analisis.py (Optional)
Helper functions untuk analisa simpanan.
---
## ⚠️ Important Notes
### Binary Model Files (.pkl)
- File `scaler.pkl` dan `isolation_forest.pkl` HARUS ada untuk Tab 2 berfungsi
- Files ini di-generate saat training, bukan di-create manual
- Jangan di-edit manual - format binary
### File Locations
- App mencari file di path relatif: `../tools/` (dari app folder)
- Pastikan struktur folder sesuai template
### Model Updates
Jika ingin update model (retrain):
1. Jalankan `python tools/model_train.py`
2. File `.pkl` baru akan di-generate
3. Restart aplikasi
---
## πŸ” Troubleshooting
### Error: "Model tidak ditemukan"
```
Solusi:
1. Pastikan scaler.pkl ada di tools/
2. Pastikan isolation_forest.pkl ada di tools/
3. Check file paths (case-sensitive di Linux/Mac)
```
### Error: "Model load failed"
```
Solusi:
1. Pastikan Python version sama saat training dan running
2. Pastikan scikit-learn version sama
3. Re-train model jika masih error
```
---
## πŸ“Š Model Info
### Isolation Forest
- **Algorithm:** Anomaly detection via Isolation Forest
- **Training data:** Historical simpanan transactions
- **Features:** 8 aggregated metrics
- Db_Sukarela_Total, Db_Sukarela_Avg, Db_Sukarela_Std, Db_Sukarela_Max
- Cr_Sukarela_Total, Cr_Sukarela_Avg, Cr_Sukarela_Std, Cr_Sukarela_Max
- **Output:** Binary (Anomaly: -1, Normal: 1)
### StandardScaler
- **Purpose:** Feature normalization
- **Fitted on:** Historical data statistics
- **Usage:** Pre-process features before model prediction
---
## πŸš€ Quick Check
Verify tools setup:
```bash
cd THC_APP
python -c "import joblib; print('scaler:', joblib.load('tools/scaler.pkl')); print('model:', joblib.load('tools/isolation_forest.pkl'))"
```
Success jika output menunjukkan objects tanpa error.
---
**Last Updated:** May 2026