Spaces:
Sleeping
Sleeping
Update src/components/model_risk_predictor.py
Browse files
src/components/model_risk_predictor.py
CHANGED
|
@@ -72,7 +72,7 @@ def predict_risk(region: str, days: int = 5, origin=None, destination=None,
|
|
| 72 |
|
| 73 |
|
| 74 |
rule_risk = calculate_rule_based_risk(region, days, incidents or [])
|
| 75 |
-
|
| 76 |
|
| 77 |
|
| 78 |
ml_risk = 0.40
|
|
@@ -93,29 +93,25 @@ def predict_risk(region: str, days: int = 5, origin=None, destination=None,
|
|
| 93 |
)
|
| 94 |
|
| 95 |
ml_risk = float(risk_model.predict_proba(test_features)[0, 1])
|
| 96 |
-
|
| 97 |
except Exception as e:
|
| 98 |
-
|
| 99 |
ml_risk = 0.40
|
| 100 |
|
| 101 |
|
| 102 |
if incidents and len(incidents) > 0:
|
| 103 |
final_risk = (ml_risk * 0.40) + (rule_risk * 0.60)
|
| 104 |
-
|
| 105 |
-
f"Hybrid risk (with incidents): ML={ml_risk:.3f}*0.4 + Rule={rule_risk:.3f}*0.6 = {final_risk:.3f}"
|
| 106 |
-
)
|
| 107 |
else:
|
| 108 |
final_risk = (ml_risk * 0.70) + (rule_risk * 0.30)
|
| 109 |
-
|
| 110 |
-
f"Hybrid risk (no incidents): ML={ml_risk:.3f}*0.7 + Rule={rule_risk:.3f}*0.3 = {final_risk:.3f}"
|
| 111 |
-
)
|
| 112 |
|
| 113 |
|
| 114 |
final_risk = float(np.clip(final_risk, 0.0, 1.0))
|
| 115 |
return round(final_risk, 2)
|
| 116 |
|
| 117 |
except Exception as e:
|
| 118 |
-
|
| 119 |
return 0.50
|
| 120 |
|
| 121 |
|
|
|
|
| 72 |
|
| 73 |
|
| 74 |
rule_risk = calculate_rule_based_risk(region, days, incidents or [])
|
| 75 |
+
|
| 76 |
|
| 77 |
|
| 78 |
ml_risk = 0.40
|
|
|
|
| 93 |
)
|
| 94 |
|
| 95 |
ml_risk = float(risk_model.predict_proba(test_features)[0, 1])
|
| 96 |
+
|
| 97 |
except Exception as e:
|
| 98 |
+
|
| 99 |
ml_risk = 0.40
|
| 100 |
|
| 101 |
|
| 102 |
if incidents and len(incidents) > 0:
|
| 103 |
final_risk = (ml_risk * 0.40) + (rule_risk * 0.60)
|
| 104 |
+
|
|
|
|
|
|
|
| 105 |
else:
|
| 106 |
final_risk = (ml_risk * 0.70) + (rule_risk * 0.30)
|
| 107 |
+
|
|
|
|
|
|
|
| 108 |
|
| 109 |
|
| 110 |
final_risk = float(np.clip(final_risk, 0.0, 1.0))
|
| 111 |
return round(final_risk, 2)
|
| 112 |
|
| 113 |
except Exception as e:
|
| 114 |
+
|
| 115 |
return 0.50
|
| 116 |
|
| 117 |
|