Spaces:
Sleeping
Sleeping
anoderb commited on
Commit ·
b87de83
1
Parent(s): bdef324
Fix database error: Data truncated for column 'stabilitas'
Browse files- backend/database.py +13 -2
backend/database.py
CHANGED
|
@@ -208,6 +208,16 @@ def save_all_model_results(all_results: dict, best_meta: dict, komoditas_id: int
|
|
| 208 |
# Insert each model result
|
| 209 |
for model_name, metrics in all_results.items():
|
| 210 |
is_best = 1 if model_name == best_name or f"{model_name}_Tuned" == best_name else 0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 211 |
conn.execute(text("""
|
| 212 |
INSERT INTO model_ml (
|
| 213 |
komoditas_id, nama_model, versi, deskripsi, file_path,
|
|
@@ -218,17 +228,18 @@ def save_all_model_results(all_results: dict, best_meta: dict, komoditas_id: int
|
|
| 218 |
) VALUES (
|
| 219 |
:komoditas_id, :nama_model, '1.0', :deskripsi, '',
|
| 220 |
:mape, :rmse, :mae, :r2_score, 0,
|
| 221 |
-
|
| 222 |
CURDATE(), CURDATE(), :is_active, NOW(), NOW()
|
| 223 |
)
|
| 224 |
"""), {
|
| 225 |
'komoditas_id': komoditas_id,
|
| 226 |
'nama_model': model_name,
|
| 227 |
'deskripsi': f"Model {model_name} untuk komoditas ID {komoditas_id}",
|
| 228 |
-
'mape': round(
|
| 229 |
'rmse': round(metrics.get('rmse', 0), 4),
|
| 230 |
'mae': round(metrics.get('mae', 0), 4),
|
| 231 |
'r2_score': round(metrics.get('r2', 0), 4),
|
|
|
|
| 232 |
'is_active': is_best,
|
| 233 |
})
|
| 234 |
|
|
|
|
| 208 |
# Insert each model result
|
| 209 |
for model_name, metrics in all_results.items():
|
| 210 |
is_best = 1 if model_name == best_name or f"{model_name}_Tuned" == best_name else 0
|
| 211 |
+
|
| 212 |
+
# Hitung stabilitas sederhana untuk kolom ENUM agar tidak error
|
| 213 |
+
mape_val = metrics.get('mape', 0)
|
| 214 |
+
stabilitas_label = (
|
| 215 |
+
'optimal' if mape_val < 2 else
|
| 216 |
+
'baik' if mape_val < 5 else
|
| 217 |
+
'cukup' if mape_val < 10 else
|
| 218 |
+
'perlu_retrain'
|
| 219 |
+
)
|
| 220 |
+
|
| 221 |
conn.execute(text("""
|
| 222 |
INSERT INTO model_ml (
|
| 223 |
komoditas_id, nama_model, versi, deskripsi, file_path,
|
|
|
|
| 228 |
) VALUES (
|
| 229 |
:komoditas_id, :nama_model, '1.0', :deskripsi, '',
|
| 230 |
:mape, :rmse, :mae, :r2_score, 0,
|
| 231 |
+
:stabilitas, 'otomatis', '',
|
| 232 |
CURDATE(), CURDATE(), :is_active, NOW(), NOW()
|
| 233 |
)
|
| 234 |
"""), {
|
| 235 |
'komoditas_id': komoditas_id,
|
| 236 |
'nama_model': model_name,
|
| 237 |
'deskripsi': f"Model {model_name} untuk komoditas ID {komoditas_id}",
|
| 238 |
+
'mape': round(mape_val, 4),
|
| 239 |
'rmse': round(metrics.get('rmse', 0), 4),
|
| 240 |
'mae': round(metrics.get('mae', 0), 4),
|
| 241 |
'r2_score': round(metrics.get('r2', 0), 4),
|
| 242 |
+
'stabilitas': stabilitas_label,
|
| 243 |
'is_active': is_best,
|
| 244 |
})
|
| 245 |
|