Spaces:
Sleeping
Sleeping
| """ | |
| Loader untuk metrik evaluasi model (halaman Performa Model). | |
| Cara mengisi data asli: | |
| Setelah training & testing selesai di notebook, jalankan cell export | |
| (lihat `export_metrics_snippet.py` di root project ini) untuk membuat | |
| file `metrics.json`, lalu letakkan di: sentimart/model/metrics.json | |
| Kalau file itu belum ada, halaman Performa Model akan menampilkan nilai | |
| default di bawah ini -- yaitu hasil aktual yang sudah dilaporkan di | |
| Progress Proposal (Accuracy 98.61%, dst. -- lihat bagian 7.8 proposal), | |
| supaya dashboard tetap informatif sebelum model asli di-plug in. | |
| """ | |
| import json | |
| import os | |
| METRICS_PATH = os.path.join(os.path.dirname(os.path.dirname(__file__)), "model", "metrics.json") | |
| DEFAULT_METRICS = { | |
| "accuracy": 0.9861, | |
| "precision": 0.9827, | |
| "recall": 0.9884, | |
| "f1": 0.9855, | |
| "confusion_matrix": { # sesuai proposal 7.9: 555 negatif & 510 positif benar, 15 salah | |
| "tn": 555, "fp": 9, | |
| "fn": 6, "tp": 510, | |
| }, | |
| "train_loss": [0.6821, 0.3245, 0.1876, 0.1102, 0.0731], | |
| "val_loss": [0.2954, 0.1873, 0.1241, 0.0983, 0.0874], | |
| "train_acc": [0.8924, 0.9412, 0.9651, 0.9784, 0.9861], | |
| "val_acc": [0.9341, 0.9587, 0.9712, 0.9798, 0.9861], | |
| "best_threshold": 0.5, | |
| "is_demo": True, | |
| "n_test": 1080, | |
| } | |
| def load_metrics() -> dict: | |
| if os.path.exists(METRICS_PATH): | |
| try: | |
| with open(METRICS_PATH, "r", encoding="utf-8") as f: | |
| data = json.load(f) | |
| data["is_demo"] = False | |
| return data | |
| except Exception: | |
| pass | |
| return DEFAULT_METRICS | |