Files
routesapi/ml_data/reports/tuning_20260407_110353.json
2026-06-22 17:40:08 +05:30

203 lines
6.7 KiB
JSON

{
"timestamp": "2026-04-07T11:03:53.039644",
"training_rows": 100,
"n_trials": 100,
"best_predicted_quality": 89.4,
"best_params": {
"max_pickup_distance_km": 7.130020162334684,
"max_kitchen_distance_km": 4.280839128384073,
"max_orders_per_rider": 16,
"ideal_load": 3,
"workload_balance_threshold": 0.8854582632265207,
"workload_penalty_weight": 105.43303608103864,
"distance_penalty_weight": 2.3152400473443335,
"cluster_radius_km": 4.722786290266237,
"search_time_limit_seconds": 13,
"road_factor": 1.5274307417515143
},
"validation": {
"r2_score": 0.6699,
"mae": 7.393,
"folds": 5,
"trust_level": "good",
"trust_score": 3,
"interpretation": "Predictions off by +/-7.4 pts (R2=0.67, trust=good)"
},
"baseline_stats": {
"avg_quality": 68.97,
"best_quality": 95.0,
"worst_quality": 30.0,
"sample_size": 100
},
"feature_importance": {
"rolling_avg_quality_5": 32.86,
"quality_delta_10": 23.57,
"num_orders": 17.08,
"hour": 12.54,
"num_riders": 5.97,
"day_of_week": 3.87,
"max_pickup_distance_km": 1.6,
"ideal_load": 0.84,
"max_kitchen_distance_km": 0.7,
"workload_balance_threshold": 0.56,
"distance_penalty_weight": 0.2,
"workload_penalty_weight": 0.07,
"search_time_limit_seconds": 0.07,
"is_peak": 0.04,
"max_orders_per_rider": 0.04,
"cluster_radius_km": 0.01
},
"top_trials": [
{
"params": {
"max_pickup_distance_km": 7.130020162334684,
"max_kitchen_distance_km": 4.280839128384073,
"max_orders_per_rider": 16,
"ideal_load": 3,
"workload_balance_threshold": 0.8854582632265207,
"workload_penalty_weight": 105.43303608103864,
"distance_penalty_weight": 2.3152400473443335,
"cluster_radius_km": 4.722786290266237,
"search_time_limit_seconds": 13,
"road_factor": 1.5274307417515143
},
"score": 89.39888000488281
},
{
"params": {
"max_pickup_distance_km": 7.159371587069677,
"max_kitchen_distance_km": 4.033386033322248,
"max_orders_per_rider": 16,
"ideal_load": 3,
"workload_balance_threshold": 0.863536050890365,
"workload_penalty_weight": 97.43265762258073,
"distance_penalty_weight": 1.9100499560802082,
"cluster_radius_km": 4.511755856356149,
"search_time_limit_seconds": 14,
"road_factor": 1.4939199795886327
},
"score": 89.3228530883789
},
{
"params": {
"max_pickup_distance_km": 7.237839336535851,
"max_kitchen_distance_km": 3.663365702556132,
"max_orders_per_rider": 16,
"ideal_load": 4,
"workload_balance_threshold": 0.8735336296938158,
"workload_penalty_weight": 87.18895234690117,
"distance_penalty_weight": 1.902615724431142,
"cluster_radius_km": 4.135522505489794,
"search_time_limit_seconds": 14,
"road_factor": 1.4941578228086358
},
"score": 89.3228530883789
},
{
"params": {
"max_pickup_distance_km": 7.209008794453106,
"max_kitchen_distance_km": 3.5871901473162935,
"max_orders_per_rider": 17,
"ideal_load": 4,
"workload_balance_threshold": 0.8636601075743638,
"workload_penalty_weight": 86.88314997861353,
"distance_penalty_weight": 1.713990617922939,
"cluster_radius_km": 3.9805610734693078,
"search_time_limit_seconds": 14,
"road_factor": 1.4709255743019745
},
"score": 89.3228530883789
},
{
"params": {
"max_pickup_distance_km": 7.293606340881382,
"max_kitchen_distance_km": 3.6099841904143544,
"max_orders_per_rider": 19,
"ideal_load": 2,
"workload_balance_threshold": 0.8391162982772516,
"workload_penalty_weight": 81.78402384933284,
"distance_penalty_weight": 1.4924949118149284,
"cluster_radius_km": 4.004081091262425,
"search_time_limit_seconds": 15,
"road_factor": 1.4950180193418494
},
"score": 89.3228530883789
},
{
"params": {
"max_pickup_distance_km": 7.231818308493086,
"max_kitchen_distance_km": 3.5987025683885814,
"max_orders_per_rider": 19,
"ideal_load": 2,
"workload_balance_threshold": 0.8679819345591729,
"workload_penalty_weight": 84.66571137735836,
"distance_penalty_weight": 1.7142915230680047,
"cluster_radius_km": 3.9216203223089767,
"search_time_limit_seconds": 14,
"road_factor": 1.4831054798161563
},
"score": 89.3228530883789
},
{
"params": {
"max_pickup_distance_km": 7.300424964430984,
"max_kitchen_distance_km": 3.6131608968543274,
"max_orders_per_rider": 19,
"ideal_load": 2,
"workload_balance_threshold": 0.8475063079023154,
"workload_penalty_weight": 84.06676343906496,
"distance_penalty_weight": 1.5413441475020342,
"cluster_radius_km": 3.911615413718933,
"search_time_limit_seconds": 14,
"road_factor": 1.4812141284424145
},
"score": 89.3228530883789
},
{
"params": {
"max_pickup_distance_km": 7.265650750564059,
"max_kitchen_distance_km": 3.590986817226879,
"max_orders_per_rider": 19,
"ideal_load": 2,
"workload_balance_threshold": 0.8536491441751559,
"workload_penalty_weight": 83.53289668387433,
"distance_penalty_weight": 1.529774802118949,
"cluster_radius_km": 3.572233786654972,
"search_time_limit_seconds": 15,
"road_factor": 1.485395954896316
},
"score": 89.3228530883789
},
{
"params": {
"max_pickup_distance_km": 7.263343465055543,
"max_kitchen_distance_km": 3.7746106852600296,
"max_orders_per_rider": 19,
"ideal_load": 2,
"workload_balance_threshold": 0.8456925598017999,
"workload_penalty_weight": 86.05760075611829,
"distance_penalty_weight": 1.5496670626377171,
"cluster_radius_km": 3.4692879161186077,
"search_time_limit_seconds": 15,
"road_factor": 1.4938443091991387
},
"score": 89.3228530883789
},
{
"params": {
"max_pickup_distance_km": 7.225549460912673,
"max_kitchen_distance_km": 3.546815323022868,
"max_orders_per_rider": 17,
"ideal_load": 2,
"workload_balance_threshold": 0.8538034239262067,
"workload_penalty_weight": 79.43517045634971,
"distance_penalty_weight": 1.3116923117558434,
"cluster_radius_km": 3.88979206962715,
"search_time_limit_seconds": 14,
"road_factor": 1.4911856069021672
},
"score": 89.29891967773438
}
],
"pareto_frontier": []
}