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

204 lines
6.7 KiB
JSON

{
"timestamp": "2026-04-13T01:56:15.959725",
"training_rows": 314,
"n_trials": 100,
"best_predicted_quality": 92.49,
"best_params": {
"max_pickup_distance_km": 8.97552336109477,
"max_kitchen_distance_km": 2.7877044648340705,
"max_orders_per_rider": 18,
"ideal_load": 2,
"workload_balance_threshold": 0.8903020193864128,
"workload_penalty_weight": 53.40488265276959,
"distance_penalty_weight": 4.354470281012198,
"cluster_radius_km": 2.2678837392223077,
"search_time_limit_seconds": 15,
"road_factor": 1.4157581126349794
},
"validation": {
"r2_score": 0.7324,
"mae": 4.64,
"folds": 5,
"trust_level": "good",
"trust_score": 3,
"interpretation": "Predictions off by +/-4.6 pts (R2=0.73, trust=good)"
},
"baseline_stats": {
"avg_quality": 78.03,
"best_quality": 95.0,
"worst_quality": 30.0,
"sample_size": 314
},
"feature_importance": {
"rolling_avg_quality_5": 31.46,
"quality_delta_10": 23.79,
"num_orders": 14.36,
"hour": 12.93,
"day_of_week": 7.26,
"num_riders": 3.78,
"max_kitchen_distance_km": 2.19,
"max_pickup_distance_km": 1.39,
"workload_balance_threshold": 0.97,
"max_orders_per_rider": 0.68,
"ideal_load": 0.49,
"is_peak": 0.33,
"distance_penalty_weight": 0.21,
"search_time_limit_seconds": 0.06,
"workload_penalty_weight": 0.05,
"cluster_radius_km": 0.01,
"road_factor": 0.01
},
"top_trials": [
{
"params": {
"max_pickup_distance_km": 8.97552336109477,
"max_kitchen_distance_km": 2.7877044648340705,
"max_orders_per_rider": 18,
"ideal_load": 2,
"workload_balance_threshold": 0.8903020193864128,
"workload_penalty_weight": 53.40488265276959,
"distance_penalty_weight": 4.354470281012198,
"cluster_radius_km": 2.2678837392223077,
"search_time_limit_seconds": 15,
"road_factor": 1.4157581126349794
},
"score": 92.48632049560547
},
{
"params": {
"max_pickup_distance_km": 9.210519212090116,
"max_kitchen_distance_km": 2.795071874344803,
"max_orders_per_rider": 18,
"ideal_load": 2,
"workload_balance_threshold": 0.890954590372547,
"workload_penalty_weight": 57.30546495575571,
"distance_penalty_weight": 4.2825502929828625,
"cluster_radius_km": 2.2309970986531154,
"search_time_limit_seconds": 15,
"road_factor": 1.407023035324782
},
"score": 92.48632049560547
},
{
"params": {
"max_pickup_distance_km": 9.223563826442748,
"max_kitchen_distance_km": 2.808717963029326,
"max_orders_per_rider": 18,
"ideal_load": 2,
"workload_balance_threshold": 0.892196769560021,
"workload_penalty_weight": 57.15330538045706,
"distance_penalty_weight": 4.282867731690668,
"cluster_radius_km": 2.2270651869785745,
"search_time_limit_seconds": 15,
"road_factor": 1.403707328692158
},
"score": 92.48632049560547
},
{
"params": {
"max_pickup_distance_km": 9.157491797214524,
"max_kitchen_distance_km": 2.810126480283359,
"max_orders_per_rider": 18,
"ideal_load": 2,
"workload_balance_threshold": 0.8917683811761372,
"workload_penalty_weight": 57.74787593216373,
"distance_penalty_weight": 4.3249511318795255,
"cluster_radius_km": 2.1959915582659053,
"search_time_limit_seconds": 15,
"road_factor": 1.4003360081268916
},
"score": 92.48632049560547
},
{
"params": {
"max_pickup_distance_km": 9.16568429375528,
"max_kitchen_distance_km": 2.8090951982962844,
"max_orders_per_rider": 18,
"ideal_load": 2,
"workload_balance_threshold": 0.8909300879611156,
"workload_penalty_weight": 57.96924359592614,
"distance_penalty_weight": 4.356115233659841,
"cluster_radius_km": 2.1640543998081037,
"search_time_limit_seconds": 15,
"road_factor": 1.4050040294906794
},
"score": 92.48632049560547
},
{
"params": {
"max_pickup_distance_km": 9.259104291226768,
"max_kitchen_distance_km": 2.338588217223744,
"max_orders_per_rider": 18,
"ideal_load": 2,
"workload_balance_threshold": 0.8941495097259085,
"workload_penalty_weight": 58.30632718290698,
"distance_penalty_weight": 4.317355430608995,
"cluster_radius_km": 2.160490975141093,
"search_time_limit_seconds": 15,
"road_factor": 1.3994981879420294
},
"score": 92.48632049560547
},
{
"params": {
"max_pickup_distance_km": 9.318117638956453,
"max_kitchen_distance_km": 2.8273035648398968,
"max_orders_per_rider": 18,
"ideal_load": 2,
"workload_balance_threshold": 0.88987932201009,
"workload_penalty_weight": 57.82043331508467,
"distance_penalty_weight": 4.317908076902964,
"cluster_radius_km": 2.165564764616809,
"search_time_limit_seconds": 15,
"road_factor": 1.398943484975189
},
"score": 92.48632049560547
},
{
"params": {
"max_pickup_distance_km": 9.30238269859597,
"max_kitchen_distance_km": 2.8712278434223046,
"max_orders_per_rider": 18,
"ideal_load": 2,
"workload_balance_threshold": 0.8892855074968387,
"workload_penalty_weight": 59.298723357157364,
"distance_penalty_weight": 4.253012634451528,
"cluster_radius_km": 1.962817701799511,
"search_time_limit_seconds": 15,
"road_factor": 1.3987881342234323
},
"score": 92.48632049560547
},
{
"params": {
"max_pickup_distance_km": 9.228587208865775,
"max_kitchen_distance_km": 2.7902336946097517,
"max_orders_per_rider": 18,
"ideal_load": 2,
"workload_balance_threshold": 0.8931229523479859,
"workload_penalty_weight": 58.672651882896744,
"distance_penalty_weight": 4.295307426122445,
"cluster_radius_km": 1.993660839663039,
"search_time_limit_seconds": 15,
"road_factor": 1.3993241972723316
},
"score": 92.48632049560547
},
{
"params": {
"max_pickup_distance_km": 9.199491733110056,
"max_kitchen_distance_km": 2.8798175414522116,
"max_orders_per_rider": 18,
"ideal_load": 2,
"workload_balance_threshold": 0.8907560961453739,
"workload_penalty_weight": 59.605005662034905,
"distance_penalty_weight": 4.267902417175325,
"cluster_radius_km": 2.0020539902282946,
"search_time_limit_seconds": 15,
"road_factor": 1.3959721302394685
},
"score": 92.48632049560547
}
],
"pareto_frontier": []
}