Initial commit
This commit is contained in:
193
ml_data/reports/tuning_20260406_101305.json
Normal file
193
ml_data/reports/tuning_20260406_101305.json
Normal file
@@ -0,0 +1,193 @@
|
||||
{
|
||||
"timestamp": "2026-04-06T10:13:05.823653",
|
||||
"training_rows": 42,
|
||||
"n_trials": 150,
|
||||
"best_predicted_quality": 74.73,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 7.314920981190028,
|
||||
"max_kitchen_distance_km": 4.8848250212533415,
|
||||
"max_orders_per_rider": 17,
|
||||
"ideal_load": 6,
|
||||
"workload_balance_threshold": 0.5921999872066053,
|
||||
"workload_penalty_weight": 169.06315001171424,
|
||||
"distance_penalty_weight": 1.1915857216557537,
|
||||
"cluster_radius_km": 3.558231774658527,
|
||||
"search_time_limit_seconds": 9,
|
||||
"road_factor": 1.3099009557863963
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.5681,
|
||||
"mae": 8.266,
|
||||
"folds": 5,
|
||||
"trust_level": "acceptable",
|
||||
"trust_score": 2,
|
||||
"interpretation": "Predictions off by +/-8.3 pts (R2=0.57, trust=acceptable)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 57.09,
|
||||
"best_quality": 94.11,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 42
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 38.71,
|
||||
"quality_delta_10": 20.33,
|
||||
"num_orders": 19.03,
|
||||
"hour": 13.32,
|
||||
"num_riders": 7.86,
|
||||
"day_of_week": 0.75
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.314920981190028,
|
||||
"max_kitchen_distance_km": 4.8848250212533415,
|
||||
"max_orders_per_rider": 17,
|
||||
"ideal_load": 6,
|
||||
"workload_balance_threshold": 0.5921999872066053,
|
||||
"workload_penalty_weight": 169.06315001171424,
|
||||
"distance_penalty_weight": 1.1915857216557537,
|
||||
"cluster_radius_km": 3.558231774658527,
|
||||
"search_time_limit_seconds": 9,
|
||||
"road_factor": 1.3099009557863963
|
||||
},
|
||||
"score": 74.7316665649414
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.237104762434787,
|
||||
"max_kitchen_distance_km": 7.550474896953535,
|
||||
"max_orders_per_rider": 17,
|
||||
"ideal_load": 6,
|
||||
"workload_balance_threshold": 0.5890554510417833,
|
||||
"workload_penalty_weight": 185.96752993783272,
|
||||
"distance_penalty_weight": 1.31602349600973,
|
||||
"cluster_radius_km": 3.8526888873500074,
|
||||
"search_time_limit_seconds": 9,
|
||||
"road_factor": 1.319424296170459
|
||||
},
|
||||
"score": 74.7316665649414
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.436288448216707,
|
||||
"max_kitchen_distance_km": 4.919546048309047,
|
||||
"max_orders_per_rider": 17,
|
||||
"ideal_load": 6,
|
||||
"workload_balance_threshold": 0.591148300459874,
|
||||
"workload_penalty_weight": 168.30230726961742,
|
||||
"distance_penalty_weight": 1.2493078409207465,
|
||||
"cluster_radius_km": 3.556472953280938,
|
||||
"search_time_limit_seconds": 9,
|
||||
"road_factor": 1.3302725639166417
|
||||
},
|
||||
"score": 74.7316665649414
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.325529314582726,
|
||||
"max_kitchen_distance_km": 4.649587629606767,
|
||||
"max_orders_per_rider": 17,
|
||||
"ideal_load": 6,
|
||||
"workload_balance_threshold": 0.590873440986851,
|
||||
"workload_penalty_weight": 168.438723345984,
|
||||
"distance_penalty_weight": 1.1422464826358736,
|
||||
"cluster_radius_km": 3.849796402096792,
|
||||
"search_time_limit_seconds": 9,
|
||||
"road_factor": 1.3098146276588136
|
||||
},
|
||||
"score": 74.7316665649414
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.280718743288656,
|
||||
"max_kitchen_distance_km": 4.619748595285139,
|
||||
"max_orders_per_rider": 17,
|
||||
"ideal_load": 6,
|
||||
"workload_balance_threshold": 0.5876942359983096,
|
||||
"workload_penalty_weight": 175.5427402190054,
|
||||
"distance_penalty_weight": 1.234091340676156,
|
||||
"cluster_radius_km": 3.596367136362332,
|
||||
"search_time_limit_seconds": 9,
|
||||
"road_factor": 1.3269755250627069
|
||||
},
|
||||
"score": 74.7316665649414
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.492629035525449,
|
||||
"max_kitchen_distance_km": 4.249165472314659,
|
||||
"max_orders_per_rider": 17,
|
||||
"ideal_load": 6,
|
||||
"workload_balance_threshold": 0.6002837964896123,
|
||||
"workload_penalty_weight": 173.37495123965752,
|
||||
"distance_penalty_weight": 1.1908166833096747,
|
||||
"cluster_radius_km": 3.543115179563585,
|
||||
"search_time_limit_seconds": 9,
|
||||
"road_factor": 1.3281385493416102
|
||||
},
|
||||
"score": 74.7316665649414
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.171116733882171,
|
||||
"max_kitchen_distance_km": 4.315631232490625,
|
||||
"max_orders_per_rider": 17,
|
||||
"ideal_load": 6,
|
||||
"workload_balance_threshold": 0.5943191618773355,
|
||||
"workload_penalty_weight": 167.9049180092559,
|
||||
"distance_penalty_weight": 1.173862334055753,
|
||||
"cluster_radius_km": 3.596417271778823,
|
||||
"search_time_limit_seconds": 9,
|
||||
"road_factor": 1.310786907921741
|
||||
},
|
||||
"score": 74.7316665649414
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.398947077752536,
|
||||
"max_kitchen_distance_km": 4.573012985025286,
|
||||
"max_orders_per_rider": 17,
|
||||
"ideal_load": 6,
|
||||
"workload_balance_threshold": 0.588382785737964,
|
||||
"workload_penalty_weight": 171.56836325664975,
|
||||
"distance_penalty_weight": 1.2420650483510813,
|
||||
"cluster_radius_km": 3.821463414056532,
|
||||
"search_time_limit_seconds": 9,
|
||||
"road_factor": 1.3094083355796955
|
||||
},
|
||||
"score": 74.7316665649414
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.413205466370695,
|
||||
"max_kitchen_distance_km": 4.882557712376696,
|
||||
"max_orders_per_rider": 17,
|
||||
"ideal_load": 6,
|
||||
"workload_balance_threshold": 0.5938285091458789,
|
||||
"workload_penalty_weight": 169.18170748664954,
|
||||
"distance_penalty_weight": 1.2065256426925077,
|
||||
"cluster_radius_km": 3.567236434547114,
|
||||
"search_time_limit_seconds": 9,
|
||||
"road_factor": 1.3261515305765197
|
||||
},
|
||||
"score": 74.7316665649414
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.321140036068694,
|
||||
"max_kitchen_distance_km": 4.591113450191565,
|
||||
"max_orders_per_rider": 17,
|
||||
"ideal_load": 6,
|
||||
"workload_balance_threshold": 0.595465392809937,
|
||||
"workload_penalty_weight": 168.84486091695908,
|
||||
"distance_penalty_weight": 1.1874534780471975,
|
||||
"cluster_radius_km": 3.5809336353167915,
|
||||
"search_time_limit_seconds": 9,
|
||||
"road_factor": 1.3136308854673249
|
||||
},
|
||||
"score": 74.7316665649414
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
195
ml_data/reports/tuning_20260406_111521.json
Normal file
195
ml_data/reports/tuning_20260406_111521.json
Normal file
@@ -0,0 +1,195 @@
|
||||
{
|
||||
"timestamp": "2026-04-06T11:15:21.558462",
|
||||
"training_rows": 46,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 86.11,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 6.392662787995912,
|
||||
"max_kitchen_distance_km": 4.190289209141789,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 6,
|
||||
"workload_balance_threshold": 0.5872426915922554,
|
||||
"workload_penalty_weight": 159.52479411472802,
|
||||
"distance_penalty_weight": 1.3976431795210602,
|
||||
"cluster_radius_km": 3.8669714076918487,
|
||||
"search_time_limit_seconds": 10,
|
||||
"road_factor": 1.351027788721731
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.6054,
|
||||
"mae": 7.772,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-7.8 pts (R2=0.61, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 60.17,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 46
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 37.57,
|
||||
"quality_delta_10": 20.49,
|
||||
"num_orders": 19.39,
|
||||
"hour": 14.34,
|
||||
"num_riders": 7.31,
|
||||
"day_of_week": 0.7,
|
||||
"max_pickup_distance_km": 0.11,
|
||||
"max_kitchen_distance_km": 0.09
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.392662787995912,
|
||||
"max_kitchen_distance_km": 4.190289209141789,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 6,
|
||||
"workload_balance_threshold": 0.5872426915922554,
|
||||
"workload_penalty_weight": 159.52479411472802,
|
||||
"distance_penalty_weight": 1.3976431795210602,
|
||||
"cluster_radius_km": 3.8669714076918487,
|
||||
"search_time_limit_seconds": 10,
|
||||
"road_factor": 1.351027788721731
|
||||
},
|
||||
"score": 86.11234283447266
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.297815963257037,
|
||||
"max_kitchen_distance_km": 3.8505754898634783,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 6,
|
||||
"workload_balance_threshold": 0.5777296561934621,
|
||||
"workload_penalty_weight": 158.4868458705779,
|
||||
"distance_penalty_weight": 1.1423080241802208,
|
||||
"cluster_radius_km": 3.8767987765353027,
|
||||
"search_time_limit_seconds": 10,
|
||||
"road_factor": 1.3590795828321593
|
||||
},
|
||||
"score": 86.11234283447266
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 5.755525935494492,
|
||||
"max_kitchen_distance_km": 3.602878250833593,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 6,
|
||||
"workload_balance_threshold": 0.5810550224170309,
|
||||
"workload_penalty_weight": 158.33102695144956,
|
||||
"distance_penalty_weight": 0.8359797517849566,
|
||||
"cluster_radius_km": 4.070265749604756,
|
||||
"search_time_limit_seconds": 11,
|
||||
"road_factor": 1.3679995251023478
|
||||
},
|
||||
"score": 86.11234283447266
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 5.668048149252538,
|
||||
"max_kitchen_distance_km": 3.757664730583838,
|
||||
"max_orders_per_rider": 15,
|
||||
"ideal_load": 6,
|
||||
"workload_balance_threshold": 0.5760811821610472,
|
||||
"workload_penalty_weight": 151.63492791057107,
|
||||
"distance_penalty_weight": 0.5702726198142655,
|
||||
"cluster_radius_km": 4.072347742407765,
|
||||
"search_time_limit_seconds": 10,
|
||||
"road_factor": 1.3745093953873153
|
||||
},
|
||||
"score": 86.11234283447266
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.234799364645242,
|
||||
"max_kitchen_distance_km": 3.608238936343494,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 6,
|
||||
"workload_balance_threshold": 0.5751866568653705,
|
||||
"workload_penalty_weight": 157.49526762895485,
|
||||
"distance_penalty_weight": 0.6684963010048837,
|
||||
"cluster_radius_km": 4.563846747791826,
|
||||
"search_time_limit_seconds": 10,
|
||||
"road_factor": 1.3851224149782055
|
||||
},
|
||||
"score": 86.11234283447266
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 5.778552719231634,
|
||||
"max_kitchen_distance_km": 3.985822473534986,
|
||||
"max_orders_per_rider": 15,
|
||||
"ideal_load": 6,
|
||||
"workload_balance_threshold": 0.5421608115737091,
|
||||
"workload_penalty_weight": 152.2200014192961,
|
||||
"distance_penalty_weight": 0.5061267867737343,
|
||||
"cluster_radius_km": 4.504093235986498,
|
||||
"search_time_limit_seconds": 11,
|
||||
"road_factor": 1.3752847449065841
|
||||
},
|
||||
"score": 86.11234283447266
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 5.544498941283227,
|
||||
"max_kitchen_distance_km": 3.526639801749269,
|
||||
"max_orders_per_rider": 15,
|
||||
"ideal_load": 6,
|
||||
"workload_balance_threshold": 0.5366736949070521,
|
||||
"workload_penalty_weight": 143.0095516901684,
|
||||
"distance_penalty_weight": 0.576086222260539,
|
||||
"cluster_radius_km": 4.650857718738661,
|
||||
"search_time_limit_seconds": 11,
|
||||
"road_factor": 1.4022032523207215
|
||||
},
|
||||
"score": 86.11234283447266
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 5.834348418882515,
|
||||
"max_kitchen_distance_km": 3.727707528717965,
|
||||
"max_orders_per_rider": 15,
|
||||
"ideal_load": 6,
|
||||
"workload_balance_threshold": 0.5313909879772015,
|
||||
"workload_penalty_weight": 146.66435736231995,
|
||||
"distance_penalty_weight": 0.5890932671599473,
|
||||
"cluster_radius_km": 4.566568289844027,
|
||||
"search_time_limit_seconds": 11,
|
||||
"road_factor": 1.3767549301227895
|
||||
},
|
||||
"score": 86.11234283447266
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 5.887294356657819,
|
||||
"max_kitchen_distance_km": 3.446156802802312,
|
||||
"max_orders_per_rider": 15,
|
||||
"ideal_load": 6,
|
||||
"workload_balance_threshold": 0.4956698206614236,
|
||||
"workload_penalty_weight": 145.08886239416043,
|
||||
"distance_penalty_weight": 0.5619044128499937,
|
||||
"cluster_radius_km": 4.741476812566594,
|
||||
"search_time_limit_seconds": 11,
|
||||
"road_factor": 1.3958241864702816
|
||||
},
|
||||
"score": 86.11234283447266
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 5.7337206831750684,
|
||||
"max_kitchen_distance_km": 3.448896621982922,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 6,
|
||||
"workload_balance_threshold": 0.5305940896716139,
|
||||
"workload_penalty_weight": 145.6036252229628,
|
||||
"distance_penalty_weight": 0.5686017128719028,
|
||||
"cluster_radius_km": 4.581905382792808,
|
||||
"search_time_limit_seconds": 11,
|
||||
"road_factor": 1.3816713599748103
|
||||
},
|
||||
"score": 86.11234283447266
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
195
ml_data/reports/tuning_20260406_112705.json
Normal file
195
ml_data/reports/tuning_20260406_112705.json
Normal file
@@ -0,0 +1,195 @@
|
||||
{
|
||||
"timestamp": "2026-04-06T11:27:05.547790",
|
||||
"training_rows": 56,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 86.86,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 5.754228294857152,
|
||||
"max_kitchen_distance_km": 3.5401397044432863,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 5,
|
||||
"workload_balance_threshold": 0.5303258275965647,
|
||||
"workload_penalty_weight": 148.2974521657742,
|
||||
"distance_penalty_weight": 0.8448126470984346,
|
||||
"cluster_radius_km": 5.116539293876776,
|
||||
"search_time_limit_seconds": 11,
|
||||
"road_factor": 1.400897182838108
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7062,
|
||||
"mae": 6.737,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-6.7 pts (R2=0.71, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 65.28,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 56
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 36.88,
|
||||
"quality_delta_10": 21.26,
|
||||
"num_orders": 19.48,
|
||||
"hour": 14.46,
|
||||
"num_riders": 6.75,
|
||||
"day_of_week": 0.65,
|
||||
"max_pickup_distance_km": 0.36,
|
||||
"max_kitchen_distance_km": 0.17
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 5.754228294857152,
|
||||
"max_kitchen_distance_km": 3.5401397044432863,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 5,
|
||||
"workload_balance_threshold": 0.5303258275965647,
|
||||
"workload_penalty_weight": 148.2974521657742,
|
||||
"distance_penalty_weight": 0.8448126470984346,
|
||||
"cluster_radius_km": 5.116539293876776,
|
||||
"search_time_limit_seconds": 11,
|
||||
"road_factor": 1.400897182838108
|
||||
},
|
||||
"score": 86.86381530761719
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 5.9946340351245615,
|
||||
"max_kitchen_distance_km": 3.5718829801604155,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 5,
|
||||
"workload_balance_threshold": 0.531860400747863,
|
||||
"workload_penalty_weight": 156.33441133773653,
|
||||
"distance_penalty_weight": 0.8685997952158602,
|
||||
"cluster_radius_km": 5.198614116122955,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.4018892215050491
|
||||
},
|
||||
"score": 86.86381530761719
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.105258536422472,
|
||||
"max_kitchen_distance_km": 3.6976829030462475,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 5,
|
||||
"workload_balance_threshold": 0.5388030619730716,
|
||||
"workload_penalty_weight": 157.01841824594652,
|
||||
"distance_penalty_weight": 0.8722055219643643,
|
||||
"cluster_radius_km": 5.255269567532107,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4187048027518931
|
||||
},
|
||||
"score": 86.86381530761719
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.1086693731841635,
|
||||
"max_kitchen_distance_km": 3.8697437187246932,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 5,
|
||||
"workload_balance_threshold": 0.5386198223243897,
|
||||
"workload_penalty_weight": 155.03608813276117,
|
||||
"distance_penalty_weight": 0.9008859330224005,
|
||||
"cluster_radius_km": 5.394163081995417,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4236552114446452
|
||||
},
|
||||
"score": 86.86381530761719
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.128213089295225,
|
||||
"max_kitchen_distance_km": 3.849163463086135,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 5,
|
||||
"workload_balance_threshold": 0.5441620345096512,
|
||||
"workload_penalty_weight": 156.83172650936578,
|
||||
"distance_penalty_weight": 0.8871558854958876,
|
||||
"cluster_radius_km": 5.073434533857966,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.435827692627751
|
||||
},
|
||||
"score": 86.86381530761719
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.340483581316396,
|
||||
"max_kitchen_distance_km": 3.9034377978970274,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 5,
|
||||
"workload_balance_threshold": 0.5442832933506564,
|
||||
"workload_penalty_weight": 154.74461044822505,
|
||||
"distance_penalty_weight": 0.8860393814330001,
|
||||
"cluster_radius_km": 5.423331802727045,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4320444686252563
|
||||
},
|
||||
"score": 86.86381530761719
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.354116300119992,
|
||||
"max_kitchen_distance_km": 3.8842834181273576,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 5,
|
||||
"workload_balance_threshold": 0.5437101399226733,
|
||||
"workload_penalty_weight": 156.68291617578234,
|
||||
"distance_penalty_weight": 0.8795681893638614,
|
||||
"cluster_radius_km": 5.428404376648247,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4529085299702669
|
||||
},
|
||||
"score": 86.86381530761719
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.351668559299965,
|
||||
"max_kitchen_distance_km": 3.863707133424694,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 5,
|
||||
"workload_balance_threshold": 0.5440550956654271,
|
||||
"workload_penalty_weight": 156.93143052929284,
|
||||
"distance_penalty_weight": 0.8888601449255451,
|
||||
"cluster_radius_km": 5.485806856584574,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.430060874518316
|
||||
},
|
||||
"score": 86.86381530761719
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.36340684056692,
|
||||
"max_kitchen_distance_km": 3.8544747047074113,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 5,
|
||||
"workload_balance_threshold": 0.5477473200120031,
|
||||
"workload_penalty_weight": 156.75808775095646,
|
||||
"distance_penalty_weight": 0.9210789943267018,
|
||||
"cluster_radius_km": 5.660715379307142,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4449700025276115
|
||||
},
|
||||
"score": 86.86381530761719
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.337201751606118,
|
||||
"max_kitchen_distance_km": 3.9155047746745466,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 5,
|
||||
"workload_balance_threshold": 0.5460757043805732,
|
||||
"workload_penalty_weight": 157.44456134140316,
|
||||
"distance_penalty_weight": 0.8990546723563242,
|
||||
"cluster_radius_km": 5.452152416986682,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4450395913087812
|
||||
},
|
||||
"score": 86.86381530761719
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
197
ml_data/reports/tuning_20260406_113420.json
Normal file
197
ml_data/reports/tuning_20260406_113420.json
Normal file
@@ -0,0 +1,197 @@
|
||||
{
|
||||
"timestamp": "2026-04-06T11:34:20.840607",
|
||||
"training_rows": 57,
|
||||
"n_trials": 150,
|
||||
"best_predicted_quality": 89.24,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 6.735532343839225,
|
||||
"max_kitchen_distance_km": 4.197619251759459,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.5214245551586657,
|
||||
"workload_penalty_weight": 163.0140787394627,
|
||||
"distance_penalty_weight": 1.3934513637108987,
|
||||
"cluster_radius_km": 5.037360156635181,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5171200156937537
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.741,
|
||||
"mae": 6.313,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-6.3 pts (R2=0.74, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 65.71,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 57
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 36.34,
|
||||
"quality_delta_10": 21.91,
|
||||
"num_orders": 19.6,
|
||||
"hour": 14.36,
|
||||
"num_riders": 6.2,
|
||||
"max_pickup_distance_km": 0.69,
|
||||
"day_of_week": 0.59,
|
||||
"max_kitchen_distance_km": 0.24,
|
||||
"workload_balance_threshold": 0.07,
|
||||
"distance_penalty_weight": 0.02
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.735532343839225,
|
||||
"max_kitchen_distance_km": 4.197619251759459,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.5214245551586657,
|
||||
"workload_penalty_weight": 163.0140787394627,
|
||||
"distance_penalty_weight": 1.3934513637108987,
|
||||
"cluster_radius_km": 5.037360156635181,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5171200156937537
|
||||
},
|
||||
"score": 89.23719024658203
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.841710404740362,
|
||||
"max_kitchen_distance_km": 4.198812185585421,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.8052332485018651,
|
||||
"workload_penalty_weight": 165.15689218876625,
|
||||
"distance_penalty_weight": 1.4435780491881305,
|
||||
"cluster_radius_km": 5.072181010489,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5088037965000476
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.820924491481588,
|
||||
"max_kitchen_distance_km": 4.2236188681147215,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9412844641881769,
|
||||
"workload_penalty_weight": 164.41212568224842,
|
||||
"distance_penalty_weight": 1.80390299391351,
|
||||
"cluster_radius_km": 5.068709178325149,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5114592113174095
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.771003849233631,
|
||||
"max_kitchen_distance_km": 4.260033470051556,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9419209792018807,
|
||||
"workload_penalty_weight": 163.16077813565002,
|
||||
"distance_penalty_weight": 2.009287785194642,
|
||||
"cluster_radius_km": 5.059599874516481,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.510934727861319
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.865086023552823,
|
||||
"max_kitchen_distance_km": 4.2300955001234835,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9485099501223543,
|
||||
"workload_penalty_weight": 113.50121305628458,
|
||||
"distance_penalty_weight": 2.217076259867863,
|
||||
"cluster_radius_km": 5.0206807120073345,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5158307797044195
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.809685584778185,
|
||||
"max_kitchen_distance_km": 4.2054614892522615,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9498351517670537,
|
||||
"workload_penalty_weight": 121.30396082659882,
|
||||
"distance_penalty_weight": 2.3357136947778963,
|
||||
"cluster_radius_km": 5.0512215296804115,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5116252292771089
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.813005359405248,
|
||||
"max_kitchen_distance_km": 4.1953195698102,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9408856743556727,
|
||||
"workload_penalty_weight": 112.5369693779748,
|
||||
"distance_penalty_weight": 2.2557510241755763,
|
||||
"cluster_radius_km": 5.072844374062231,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5122502590292002
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.804074242310791,
|
||||
"max_kitchen_distance_km": 4.206409080848127,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9468038885349329,
|
||||
"workload_penalty_weight": 118.93403357911558,
|
||||
"distance_penalty_weight": 2.2764083947813107,
|
||||
"cluster_radius_km": 5.044194353666736,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5146413175465638
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.83707314646065,
|
||||
"max_kitchen_distance_km": 4.23929386242376,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9453355580279756,
|
||||
"workload_penalty_weight": 116.37037778507518,
|
||||
"distance_penalty_weight": 2.4693040098737296,
|
||||
"cluster_radius_km": 5.072886824671098,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5159033836084548
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.830306126015477,
|
||||
"max_kitchen_distance_km": 4.217592923048695,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9455786388966734,
|
||||
"workload_penalty_weight": 114.0384093899957,
|
||||
"distance_penalty_weight": 2.2458270153688256,
|
||||
"cluster_radius_km": 5.072205045478337,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5099991858145683
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
201
ml_data/reports/tuning_20260407_015938.json
Normal file
201
ml_data/reports/tuning_20260407_015938.json
Normal file
@@ -0,0 +1,201 @@
|
||||
{
|
||||
"timestamp": "2026-04-07T01:59:38.951100",
|
||||
"training_rows": 67,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 89.24,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 6.735532343839225,
|
||||
"max_kitchen_distance_km": 4.197619251759459,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.5214245551586657,
|
||||
"workload_penalty_weight": 163.0140787394627,
|
||||
"distance_penalty_weight": 1.3934513637108987,
|
||||
"cluster_radius_km": 5.037360156635181,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5171200156937537
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7524,
|
||||
"mae": 5.994,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-6.0 pts (R2=0.75, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 67.97,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 67
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 35.23,
|
||||
"quality_delta_10": 22.24,
|
||||
"num_orders": 19.32,
|
||||
"hour": 14.27,
|
||||
"num_riders": 5.97,
|
||||
"max_pickup_distance_km": 1.1,
|
||||
"day_of_week": 0.86,
|
||||
"ideal_load": 0.38,
|
||||
"max_kitchen_distance_km": 0.29,
|
||||
"workload_balance_threshold": 0.2,
|
||||
"distance_penalty_weight": 0.08,
|
||||
"max_orders_per_rider": 0.03,
|
||||
"search_time_limit_seconds": 0.03,
|
||||
"is_peak": 0.02
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.735532343839225,
|
||||
"max_kitchen_distance_km": 4.197619251759459,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.5214245551586657,
|
||||
"workload_penalty_weight": 163.0140787394627,
|
||||
"distance_penalty_weight": 1.3934513637108987,
|
||||
"cluster_radius_km": 5.037360156635181,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5171200156937537
|
||||
},
|
||||
"score": 89.23719024658203
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.841710404740362,
|
||||
"max_kitchen_distance_km": 4.198812185585421,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.8052332485018651,
|
||||
"workload_penalty_weight": 165.15689218876625,
|
||||
"distance_penalty_weight": 1.4435780491881305,
|
||||
"cluster_radius_km": 5.072181010489,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5088037965000476
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.820924491481588,
|
||||
"max_kitchen_distance_km": 4.2236188681147215,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9412844641881769,
|
||||
"workload_penalty_weight": 164.41212568224842,
|
||||
"distance_penalty_weight": 1.80390299391351,
|
||||
"cluster_radius_km": 5.068709178325149,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5114592113174095
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.771003849233631,
|
||||
"max_kitchen_distance_km": 4.260033470051556,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9419209792018807,
|
||||
"workload_penalty_weight": 163.16077813565002,
|
||||
"distance_penalty_weight": 2.009287785194642,
|
||||
"cluster_radius_km": 5.059599874516481,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.510934727861319
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.865086023552823,
|
||||
"max_kitchen_distance_km": 4.2300955001234835,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9485099501223543,
|
||||
"workload_penalty_weight": 113.50121305628458,
|
||||
"distance_penalty_weight": 2.217076259867863,
|
||||
"cluster_radius_km": 5.0206807120073345,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5158307797044195
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.809685584778185,
|
||||
"max_kitchen_distance_km": 4.2054614892522615,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9498351517670537,
|
||||
"workload_penalty_weight": 121.30396082659882,
|
||||
"distance_penalty_weight": 2.3357136947778963,
|
||||
"cluster_radius_km": 5.0512215296804115,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5116252292771089
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.813005359405248,
|
||||
"max_kitchen_distance_km": 4.1953195698102,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9408856743556727,
|
||||
"workload_penalty_weight": 112.5369693779748,
|
||||
"distance_penalty_weight": 2.2557510241755763,
|
||||
"cluster_radius_km": 5.072844374062231,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5122502590292002
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.804074242310791,
|
||||
"max_kitchen_distance_km": 4.206409080848127,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9468038885349329,
|
||||
"workload_penalty_weight": 118.93403357911558,
|
||||
"distance_penalty_weight": 2.2764083947813107,
|
||||
"cluster_radius_km": 5.044194353666736,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5146413175465638
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.83707314646065,
|
||||
"max_kitchen_distance_km": 4.23929386242376,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9453355580279756,
|
||||
"workload_penalty_weight": 116.37037778507518,
|
||||
"distance_penalty_weight": 2.4693040098737296,
|
||||
"cluster_radius_km": 5.072886824671098,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5159033836084548
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.830306126015477,
|
||||
"max_kitchen_distance_km": 4.217592923048695,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9455786388966734,
|
||||
"workload_penalty_weight": 114.0384093899957,
|
||||
"distance_penalty_weight": 2.2458270153688256,
|
||||
"cluster_radius_km": 5.072205045478337,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5099991858145683
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
201
ml_data/reports/tuning_20260407_044422.json
Normal file
201
ml_data/reports/tuning_20260407_044422.json
Normal file
@@ -0,0 +1,201 @@
|
||||
{
|
||||
"timestamp": "2026-04-07T04:44:22.624847",
|
||||
"training_rows": 70,
|
||||
"n_trials": 150,
|
||||
"best_predicted_quality": 89.24,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 6.735532343839225,
|
||||
"max_kitchen_distance_km": 4.197619251759459,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.5214245551586657,
|
||||
"workload_penalty_weight": 163.0140787394627,
|
||||
"distance_penalty_weight": 1.3934513637108987,
|
||||
"cluster_radius_km": 5.037360156635181,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5171200156937537
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7574,
|
||||
"mae": 5.954,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-6.0 pts (R2=0.76, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 68.57,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 70
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 34.94,
|
||||
"quality_delta_10": 21.89,
|
||||
"num_orders": 17.3,
|
||||
"hour": 10.45,
|
||||
"num_riders": 7.5,
|
||||
"day_of_week": 2.97,
|
||||
"max_pickup_distance_km": 2.95,
|
||||
"max_kitchen_distance_km": 1.16,
|
||||
"max_orders_per_rider": 0.23,
|
||||
"workload_penalty_weight": 0.21,
|
||||
"ideal_load": 0.14,
|
||||
"distance_penalty_weight": 0.14,
|
||||
"workload_balance_threshold": 0.07,
|
||||
"is_peak": 0.05
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.735532343839225,
|
||||
"max_kitchen_distance_km": 4.197619251759459,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.5214245551586657,
|
||||
"workload_penalty_weight": 163.0140787394627,
|
||||
"distance_penalty_weight": 1.3934513637108987,
|
||||
"cluster_radius_km": 5.037360156635181,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5171200156937537
|
||||
},
|
||||
"score": 89.23719024658203
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.841710404740362,
|
||||
"max_kitchen_distance_km": 4.198812185585421,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.8052332485018651,
|
||||
"workload_penalty_weight": 165.15689218876625,
|
||||
"distance_penalty_weight": 1.4435780491881305,
|
||||
"cluster_radius_km": 5.072181010489,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5088037965000476
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.820924491481588,
|
||||
"max_kitchen_distance_km": 4.2236188681147215,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9412844641881769,
|
||||
"workload_penalty_weight": 164.41212568224842,
|
||||
"distance_penalty_weight": 1.80390299391351,
|
||||
"cluster_radius_km": 5.068709178325149,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5114592113174095
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.771003849233631,
|
||||
"max_kitchen_distance_km": 4.260033470051556,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9419209792018807,
|
||||
"workload_penalty_weight": 163.16077813565002,
|
||||
"distance_penalty_weight": 2.009287785194642,
|
||||
"cluster_radius_km": 5.059599874516481,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.510934727861319
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.865086023552823,
|
||||
"max_kitchen_distance_km": 4.2300955001234835,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9485099501223543,
|
||||
"workload_penalty_weight": 113.50121305628458,
|
||||
"distance_penalty_weight": 2.217076259867863,
|
||||
"cluster_radius_km": 5.0206807120073345,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5158307797044195
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.809685584778185,
|
||||
"max_kitchen_distance_km": 4.2054614892522615,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9498351517670537,
|
||||
"workload_penalty_weight": 121.30396082659882,
|
||||
"distance_penalty_weight": 2.3357136947778963,
|
||||
"cluster_radius_km": 5.0512215296804115,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5116252292771089
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.813005359405248,
|
||||
"max_kitchen_distance_km": 4.1953195698102,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9408856743556727,
|
||||
"workload_penalty_weight": 112.5369693779748,
|
||||
"distance_penalty_weight": 2.2557510241755763,
|
||||
"cluster_radius_km": 5.072844374062231,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5122502590292002
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.804074242310791,
|
||||
"max_kitchen_distance_km": 4.206409080848127,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9468038885349329,
|
||||
"workload_penalty_weight": 118.93403357911558,
|
||||
"distance_penalty_weight": 2.2764083947813107,
|
||||
"cluster_radius_km": 5.044194353666736,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5146413175465638
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.83707314646065,
|
||||
"max_kitchen_distance_km": 4.23929386242376,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9453355580279756,
|
||||
"workload_penalty_weight": 116.37037778507518,
|
||||
"distance_penalty_weight": 2.4693040098737296,
|
||||
"cluster_radius_km": 5.072886824671098,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5159033836084548
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.830306126015477,
|
||||
"max_kitchen_distance_km": 4.217592923048695,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9455786388966734,
|
||||
"workload_penalty_weight": 114.0384093899957,
|
||||
"distance_penalty_weight": 2.2458270153688256,
|
||||
"cluster_radius_km": 5.072205045478337,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5099991858145683
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
201
ml_data/reports/tuning_20260407_053406.json
Normal file
201
ml_data/reports/tuning_20260407_053406.json
Normal file
@@ -0,0 +1,201 @@
|
||||
{
|
||||
"timestamp": "2026-04-07T05:34:06.339200",
|
||||
"training_rows": 70,
|
||||
"n_trials": 150,
|
||||
"best_predicted_quality": 89.24,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 6.735532343839225,
|
||||
"max_kitchen_distance_km": 4.197619251759459,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.5214245551586657,
|
||||
"workload_penalty_weight": 163.0140787394627,
|
||||
"distance_penalty_weight": 1.3934513637108987,
|
||||
"cluster_radius_km": 5.037360156635181,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5171200156937537
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7574,
|
||||
"mae": 5.954,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-6.0 pts (R2=0.76, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 68.57,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 70
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 34.58,
|
||||
"quality_delta_10": 22.11,
|
||||
"num_orders": 18.73,
|
||||
"hour": 14.0,
|
||||
"num_riders": 6.28,
|
||||
"max_pickup_distance_km": 1.43,
|
||||
"day_of_week": 1.24,
|
||||
"ideal_load": 0.61,
|
||||
"max_kitchen_distance_km": 0.5,
|
||||
"workload_balance_threshold": 0.26,
|
||||
"distance_penalty_weight": 0.12,
|
||||
"max_orders_per_rider": 0.05,
|
||||
"is_peak": 0.04,
|
||||
"search_time_limit_seconds": 0.04
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.735532343839225,
|
||||
"max_kitchen_distance_km": 4.197619251759459,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.5214245551586657,
|
||||
"workload_penalty_weight": 163.0140787394627,
|
||||
"distance_penalty_weight": 1.3934513637108987,
|
||||
"cluster_radius_km": 5.037360156635181,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5171200156937537
|
||||
},
|
||||
"score": 89.23719024658203
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.841710404740362,
|
||||
"max_kitchen_distance_km": 4.198812185585421,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.8052332485018651,
|
||||
"workload_penalty_weight": 165.15689218876625,
|
||||
"distance_penalty_weight": 1.4435780491881305,
|
||||
"cluster_radius_km": 5.072181010489,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5088037965000476
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.820924491481588,
|
||||
"max_kitchen_distance_km": 4.2236188681147215,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9412844641881769,
|
||||
"workload_penalty_weight": 164.41212568224842,
|
||||
"distance_penalty_weight": 1.80390299391351,
|
||||
"cluster_radius_km": 5.068709178325149,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5114592113174095
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.771003849233631,
|
||||
"max_kitchen_distance_km": 4.260033470051556,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9419209792018807,
|
||||
"workload_penalty_weight": 163.16077813565002,
|
||||
"distance_penalty_weight": 2.009287785194642,
|
||||
"cluster_radius_km": 5.059599874516481,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.510934727861319
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.865086023552823,
|
||||
"max_kitchen_distance_km": 4.2300955001234835,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9485099501223543,
|
||||
"workload_penalty_weight": 113.50121305628458,
|
||||
"distance_penalty_weight": 2.217076259867863,
|
||||
"cluster_radius_km": 5.0206807120073345,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5158307797044195
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.809685584778185,
|
||||
"max_kitchen_distance_km": 4.2054614892522615,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9498351517670537,
|
||||
"workload_penalty_weight": 121.30396082659882,
|
||||
"distance_penalty_weight": 2.3357136947778963,
|
||||
"cluster_radius_km": 5.0512215296804115,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5116252292771089
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.813005359405248,
|
||||
"max_kitchen_distance_km": 4.1953195698102,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9408856743556727,
|
||||
"workload_penalty_weight": 112.5369693779748,
|
||||
"distance_penalty_weight": 2.2557510241755763,
|
||||
"cluster_radius_km": 5.072844374062231,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5122502590292002
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.804074242310791,
|
||||
"max_kitchen_distance_km": 4.206409080848127,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9468038885349329,
|
||||
"workload_penalty_weight": 118.93403357911558,
|
||||
"distance_penalty_weight": 2.2764083947813107,
|
||||
"cluster_radius_km": 5.044194353666736,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5146413175465638
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.83707314646065,
|
||||
"max_kitchen_distance_km": 4.23929386242376,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9453355580279756,
|
||||
"workload_penalty_weight": 116.37037778507518,
|
||||
"distance_penalty_weight": 2.4693040098737296,
|
||||
"cluster_radius_km": 5.072886824671098,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5159033836084548
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.830306126015477,
|
||||
"max_kitchen_distance_km": 4.217592923048695,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9455786388966734,
|
||||
"workload_penalty_weight": 114.0384093899957,
|
||||
"distance_penalty_weight": 2.2458270153688256,
|
||||
"cluster_radius_km": 5.072205045478337,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5099991858145683
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
202
ml_data/reports/tuning_20260407_055038.json
Normal file
202
ml_data/reports/tuning_20260407_055038.json
Normal file
@@ -0,0 +1,202 @@
|
||||
{
|
||||
"timestamp": "2026-04-07T05:50:38.347689",
|
||||
"training_rows": 77,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 89.24,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 6.735532343839225,
|
||||
"max_kitchen_distance_km": 4.197619251759459,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.5214245551586657,
|
||||
"workload_penalty_weight": 163.0140787394627,
|
||||
"distance_penalty_weight": 1.3934513637108987,
|
||||
"cluster_radius_km": 5.037360156635181,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5171200156937537
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7538,
|
||||
"mae": 6.159,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-6.2 pts (R2=0.75, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 67.8,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 77
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 33.69,
|
||||
"quality_delta_10": 22.59,
|
||||
"num_orders": 18.35,
|
||||
"hour": 13.78,
|
||||
"num_riders": 6.32,
|
||||
"day_of_week": 1.86,
|
||||
"max_pickup_distance_km": 1.42,
|
||||
"ideal_load": 0.79,
|
||||
"max_kitchen_distance_km": 0.61,
|
||||
"workload_balance_threshold": 0.26,
|
||||
"distance_penalty_weight": 0.16,
|
||||
"max_orders_per_rider": 0.05,
|
||||
"search_time_limit_seconds": 0.05,
|
||||
"is_peak": 0.04,
|
||||
"workload_penalty_weight": 0.04
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.735532343839225,
|
||||
"max_kitchen_distance_km": 4.197619251759459,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.5214245551586657,
|
||||
"workload_penalty_weight": 163.0140787394627,
|
||||
"distance_penalty_weight": 1.3934513637108987,
|
||||
"cluster_radius_km": 5.037360156635181,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5171200156937537
|
||||
},
|
||||
"score": 89.23719024658203
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.841710404740362,
|
||||
"max_kitchen_distance_km": 4.198812185585421,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.8052332485018651,
|
||||
"workload_penalty_weight": 165.15689218876625,
|
||||
"distance_penalty_weight": 1.4435780491881305,
|
||||
"cluster_radius_km": 5.072181010489,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5088037965000476
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.820924491481588,
|
||||
"max_kitchen_distance_km": 4.2236188681147215,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9412844641881769,
|
||||
"workload_penalty_weight": 164.41212568224842,
|
||||
"distance_penalty_weight": 1.80390299391351,
|
||||
"cluster_radius_km": 5.068709178325149,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5114592113174095
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.771003849233631,
|
||||
"max_kitchen_distance_km": 4.260033470051556,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9419209792018807,
|
||||
"workload_penalty_weight": 163.16077813565002,
|
||||
"distance_penalty_weight": 2.009287785194642,
|
||||
"cluster_radius_km": 5.059599874516481,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.510934727861319
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.865086023552823,
|
||||
"max_kitchen_distance_km": 4.2300955001234835,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9485099501223543,
|
||||
"workload_penalty_weight": 113.50121305628458,
|
||||
"distance_penalty_weight": 2.217076259867863,
|
||||
"cluster_radius_km": 5.0206807120073345,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5158307797044195
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.809685584778185,
|
||||
"max_kitchen_distance_km": 4.2054614892522615,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9498351517670537,
|
||||
"workload_penalty_weight": 121.30396082659882,
|
||||
"distance_penalty_weight": 2.3357136947778963,
|
||||
"cluster_radius_km": 5.0512215296804115,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5116252292771089
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.813005359405248,
|
||||
"max_kitchen_distance_km": 4.1953195698102,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9408856743556727,
|
||||
"workload_penalty_weight": 112.5369693779748,
|
||||
"distance_penalty_weight": 2.2557510241755763,
|
||||
"cluster_radius_km": 5.072844374062231,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5122502590292002
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.804074242310791,
|
||||
"max_kitchen_distance_km": 4.206409080848127,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9468038885349329,
|
||||
"workload_penalty_weight": 118.93403357911558,
|
||||
"distance_penalty_weight": 2.2764083947813107,
|
||||
"cluster_radius_km": 5.044194353666736,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5146413175465638
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.83707314646065,
|
||||
"max_kitchen_distance_km": 4.23929386242376,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9453355580279756,
|
||||
"workload_penalty_weight": 116.37037778507518,
|
||||
"distance_penalty_weight": 2.4693040098737296,
|
||||
"cluster_radius_km": 5.072886824671098,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5159033836084548
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.830306126015477,
|
||||
"max_kitchen_distance_km": 4.217592923048695,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9455786388966734,
|
||||
"workload_penalty_weight": 114.0384093899957,
|
||||
"distance_penalty_weight": 2.2458270153688256,
|
||||
"cluster_radius_km": 5.072205045478337,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5099991858145683
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
202
ml_data/reports/tuning_20260407_055520.json
Normal file
202
ml_data/reports/tuning_20260407_055520.json
Normal file
@@ -0,0 +1,202 @@
|
||||
{
|
||||
"timestamp": "2026-04-07T05:55:20.028939",
|
||||
"training_rows": 79,
|
||||
"n_trials": 150,
|
||||
"best_predicted_quality": 89.24,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 6.735532343839225,
|
||||
"max_kitchen_distance_km": 4.197619251759459,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.5214245551586657,
|
||||
"workload_penalty_weight": 163.0140787394627,
|
||||
"distance_penalty_weight": 1.3934513637108987,
|
||||
"cluster_radius_km": 5.037360156635181,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5171200156937537
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7895,
|
||||
"mae": 5.74,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-5.7 pts (R2=0.79, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 67.25,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 79
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 33.16,
|
||||
"quality_delta_10": 23.13,
|
||||
"num_orders": 17.92,
|
||||
"hour": 13.47,
|
||||
"num_riders": 6.38,
|
||||
"day_of_week": 2.31,
|
||||
"max_pickup_distance_km": 1.46,
|
||||
"ideal_load": 0.92,
|
||||
"max_kitchen_distance_km": 0.62,
|
||||
"workload_balance_threshold": 0.28,
|
||||
"distance_penalty_weight": 0.16,
|
||||
"is_peak": 0.06,
|
||||
"max_orders_per_rider": 0.04,
|
||||
"workload_penalty_weight": 0.04,
|
||||
"search_time_limit_seconds": 0.04
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.735532343839225,
|
||||
"max_kitchen_distance_km": 4.197619251759459,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.5214245551586657,
|
||||
"workload_penalty_weight": 163.0140787394627,
|
||||
"distance_penalty_weight": 1.3934513637108987,
|
||||
"cluster_radius_km": 5.037360156635181,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5171200156937537
|
||||
},
|
||||
"score": 89.23719024658203
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.841710404740362,
|
||||
"max_kitchen_distance_km": 4.198812185585421,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.8052332485018651,
|
||||
"workload_penalty_weight": 165.15689218876625,
|
||||
"distance_penalty_weight": 1.4435780491881305,
|
||||
"cluster_radius_km": 5.072181010489,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5088037965000476
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.820924491481588,
|
||||
"max_kitchen_distance_km": 4.2236188681147215,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9412844641881769,
|
||||
"workload_penalty_weight": 164.41212568224842,
|
||||
"distance_penalty_weight": 1.80390299391351,
|
||||
"cluster_radius_km": 5.068709178325149,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5114592113174095
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.771003849233631,
|
||||
"max_kitchen_distance_km": 4.260033470051556,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9419209792018807,
|
||||
"workload_penalty_weight": 163.16077813565002,
|
||||
"distance_penalty_weight": 2.009287785194642,
|
||||
"cluster_radius_km": 5.059599874516481,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.510934727861319
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.865086023552823,
|
||||
"max_kitchen_distance_km": 4.2300955001234835,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9485099501223543,
|
||||
"workload_penalty_weight": 113.50121305628458,
|
||||
"distance_penalty_weight": 2.217076259867863,
|
||||
"cluster_radius_km": 5.0206807120073345,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5158307797044195
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.809685584778185,
|
||||
"max_kitchen_distance_km": 4.2054614892522615,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9498351517670537,
|
||||
"workload_penalty_weight": 121.30396082659882,
|
||||
"distance_penalty_weight": 2.3357136947778963,
|
||||
"cluster_radius_km": 5.0512215296804115,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5116252292771089
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.813005359405248,
|
||||
"max_kitchen_distance_km": 4.1953195698102,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9408856743556727,
|
||||
"workload_penalty_weight": 112.5369693779748,
|
||||
"distance_penalty_weight": 2.2557510241755763,
|
||||
"cluster_radius_km": 5.072844374062231,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5122502590292002
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.804074242310791,
|
||||
"max_kitchen_distance_km": 4.206409080848127,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9468038885349329,
|
||||
"workload_penalty_weight": 118.93403357911558,
|
||||
"distance_penalty_weight": 2.2764083947813107,
|
||||
"cluster_radius_km": 5.044194353666736,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5146413175465638
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.83707314646065,
|
||||
"max_kitchen_distance_km": 4.23929386242376,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9453355580279756,
|
||||
"workload_penalty_weight": 116.37037778507518,
|
||||
"distance_penalty_weight": 2.4693040098737296,
|
||||
"cluster_radius_km": 5.072886824671098,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5159033836084548
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.830306126015477,
|
||||
"max_kitchen_distance_km": 4.217592923048695,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9455786388966734,
|
||||
"workload_penalty_weight": 114.0384093899957,
|
||||
"distance_penalty_weight": 2.2458270153688256,
|
||||
"cluster_radius_km": 5.072205045478337,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5099991858145683
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
203
ml_data/reports/tuning_20260407_061251.json
Normal file
203
ml_data/reports/tuning_20260407_061251.json
Normal file
@@ -0,0 +1,203 @@
|
||||
{
|
||||
"timestamp": "2026-04-07T06:12:51.914811",
|
||||
"training_rows": 89,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 89.24,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 6.735532343839225,
|
||||
"max_kitchen_distance_km": 4.197619251759459,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.5214245551586657,
|
||||
"workload_penalty_weight": 163.0140787394627,
|
||||
"distance_penalty_weight": 1.3934513637108987,
|
||||
"cluster_radius_km": 5.037360156635181,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5171200156937537
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.6857,
|
||||
"mae": 7.752,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-7.8 pts (R2=0.69, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 66.45,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 89
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 32.79,
|
||||
"quality_delta_10": 23.41,
|
||||
"num_orders": 18.02,
|
||||
"hour": 13.23,
|
||||
"num_riders": 6.32,
|
||||
"day_of_week": 2.58,
|
||||
"max_pickup_distance_km": 1.47,
|
||||
"ideal_load": 0.89,
|
||||
"max_kitchen_distance_km": 0.65,
|
||||
"workload_balance_threshold": 0.28,
|
||||
"distance_penalty_weight": 0.15,
|
||||
"is_peak": 0.05,
|
||||
"max_orders_per_rider": 0.05,
|
||||
"workload_penalty_weight": 0.05,
|
||||
"search_time_limit_seconds": 0.04,
|
||||
"cluster_radius_km": 0.01
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.735532343839225,
|
||||
"max_kitchen_distance_km": 4.197619251759459,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.5214245551586657,
|
||||
"workload_penalty_weight": 163.0140787394627,
|
||||
"distance_penalty_weight": 1.3934513637108987,
|
||||
"cluster_radius_km": 5.037360156635181,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5171200156937537
|
||||
},
|
||||
"score": 89.23719024658203
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.841710404740362,
|
||||
"max_kitchen_distance_km": 4.198812185585421,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.8052332485018651,
|
||||
"workload_penalty_weight": 165.15689218876625,
|
||||
"distance_penalty_weight": 1.4435780491881305,
|
||||
"cluster_radius_km": 5.072181010489,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5088037965000476
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.820924491481588,
|
||||
"max_kitchen_distance_km": 4.2236188681147215,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9412844641881769,
|
||||
"workload_penalty_weight": 164.41212568224842,
|
||||
"distance_penalty_weight": 1.80390299391351,
|
||||
"cluster_radius_km": 5.068709178325149,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5114592113174095
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.771003849233631,
|
||||
"max_kitchen_distance_km": 4.260033470051556,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9419209792018807,
|
||||
"workload_penalty_weight": 163.16077813565002,
|
||||
"distance_penalty_weight": 2.009287785194642,
|
||||
"cluster_radius_km": 5.059599874516481,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.510934727861319
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.865086023552823,
|
||||
"max_kitchen_distance_km": 4.2300955001234835,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9485099501223543,
|
||||
"workload_penalty_weight": 113.50121305628458,
|
||||
"distance_penalty_weight": 2.217076259867863,
|
||||
"cluster_radius_km": 5.0206807120073345,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5158307797044195
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.809685584778185,
|
||||
"max_kitchen_distance_km": 4.2054614892522615,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9498351517670537,
|
||||
"workload_penalty_weight": 121.30396082659882,
|
||||
"distance_penalty_weight": 2.3357136947778963,
|
||||
"cluster_radius_km": 5.0512215296804115,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5116252292771089
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.813005359405248,
|
||||
"max_kitchen_distance_km": 4.1953195698102,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9408856743556727,
|
||||
"workload_penalty_weight": 112.5369693779748,
|
||||
"distance_penalty_weight": 2.2557510241755763,
|
||||
"cluster_radius_km": 5.072844374062231,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5122502590292002
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.804074242310791,
|
||||
"max_kitchen_distance_km": 4.206409080848127,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9468038885349329,
|
||||
"workload_penalty_weight": 118.93403357911558,
|
||||
"distance_penalty_weight": 2.2764083947813107,
|
||||
"cluster_radius_km": 5.044194353666736,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5146413175465638
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.83707314646065,
|
||||
"max_kitchen_distance_km": 4.23929386242376,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9453355580279756,
|
||||
"workload_penalty_weight": 116.37037778507518,
|
||||
"distance_penalty_weight": 2.4693040098737296,
|
||||
"cluster_radius_km": 5.072886824671098,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5159033836084548
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.830306126015477,
|
||||
"max_kitchen_distance_km": 4.217592923048695,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9455786388966734,
|
||||
"workload_penalty_weight": 114.0384093899957,
|
||||
"distance_penalty_weight": 2.2458270153688256,
|
||||
"cluster_radius_km": 5.072205045478337,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5099991858145683
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
203
ml_data/reports/tuning_20260407_072654.json
Normal file
203
ml_data/reports/tuning_20260407_072654.json
Normal file
@@ -0,0 +1,203 @@
|
||||
{
|
||||
"timestamp": "2026-04-07T07:26:54.875923",
|
||||
"training_rows": 97,
|
||||
"n_trials": 150,
|
||||
"best_predicted_quality": 89.24,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 6.735532343839225,
|
||||
"max_kitchen_distance_km": 4.197619251759459,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.5214245551586657,
|
||||
"workload_penalty_weight": 163.0140787394627,
|
||||
"distance_penalty_weight": 1.3934513637108987,
|
||||
"cluster_radius_km": 5.037360156635181,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5171200156937537
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7088,
|
||||
"mae": 6.684,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-6.7 pts (R2=0.71, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 68.32,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 97
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 32.52,
|
||||
"quality_delta_10": 23.45,
|
||||
"num_orders": 17.89,
|
||||
"hour": 13.29,
|
||||
"num_riders": 6.31,
|
||||
"day_of_week": 2.86,
|
||||
"max_pickup_distance_km": 1.51,
|
||||
"ideal_load": 0.87,
|
||||
"max_kitchen_distance_km": 0.69,
|
||||
"workload_balance_threshold": 0.26,
|
||||
"distance_penalty_weight": 0.15,
|
||||
"workload_penalty_weight": 0.06,
|
||||
"is_peak": 0.05,
|
||||
"max_orders_per_rider": 0.05,
|
||||
"search_time_limit_seconds": 0.04,
|
||||
"cluster_radius_km": 0.01
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.735532343839225,
|
||||
"max_kitchen_distance_km": 4.197619251759459,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.5214245551586657,
|
||||
"workload_penalty_weight": 163.0140787394627,
|
||||
"distance_penalty_weight": 1.3934513637108987,
|
||||
"cluster_radius_km": 5.037360156635181,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5171200156937537
|
||||
},
|
||||
"score": 89.23719024658203
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.841710404740362,
|
||||
"max_kitchen_distance_km": 4.198812185585421,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.8052332485018651,
|
||||
"workload_penalty_weight": 165.15689218876625,
|
||||
"distance_penalty_weight": 1.4435780491881305,
|
||||
"cluster_radius_km": 5.072181010489,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5088037965000476
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.820924491481588,
|
||||
"max_kitchen_distance_km": 4.2236188681147215,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9412844641881769,
|
||||
"workload_penalty_weight": 164.41212568224842,
|
||||
"distance_penalty_weight": 1.80390299391351,
|
||||
"cluster_radius_km": 5.068709178325149,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5114592113174095
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.771003849233631,
|
||||
"max_kitchen_distance_km": 4.260033470051556,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9419209792018807,
|
||||
"workload_penalty_weight": 163.16077813565002,
|
||||
"distance_penalty_weight": 2.009287785194642,
|
||||
"cluster_radius_km": 5.059599874516481,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.510934727861319
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.865086023552823,
|
||||
"max_kitchen_distance_km": 4.2300955001234835,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9485099501223543,
|
||||
"workload_penalty_weight": 113.50121305628458,
|
||||
"distance_penalty_weight": 2.217076259867863,
|
||||
"cluster_radius_km": 5.0206807120073345,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5158307797044195
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.809685584778185,
|
||||
"max_kitchen_distance_km": 4.2054614892522615,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9498351517670537,
|
||||
"workload_penalty_weight": 121.30396082659882,
|
||||
"distance_penalty_weight": 2.3357136947778963,
|
||||
"cluster_radius_km": 5.0512215296804115,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5116252292771089
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.813005359405248,
|
||||
"max_kitchen_distance_km": 4.1953195698102,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9408856743556727,
|
||||
"workload_penalty_weight": 112.5369693779748,
|
||||
"distance_penalty_weight": 2.2557510241755763,
|
||||
"cluster_radius_km": 5.072844374062231,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5122502590292002
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.804074242310791,
|
||||
"max_kitchen_distance_km": 4.206409080848127,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9468038885349329,
|
||||
"workload_penalty_weight": 118.93403357911558,
|
||||
"distance_penalty_weight": 2.2764083947813107,
|
||||
"cluster_radius_km": 5.044194353666736,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5146413175465638
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.83707314646065,
|
||||
"max_kitchen_distance_km": 4.23929386242376,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9453355580279756,
|
||||
"workload_penalty_weight": 116.37037778507518,
|
||||
"distance_penalty_weight": 2.4693040098737296,
|
||||
"cluster_radius_km": 5.072886824671098,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5159033836084548
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.830306126015477,
|
||||
"max_kitchen_distance_km": 4.217592923048695,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9455786388966734,
|
||||
"workload_penalty_weight": 114.0384093899957,
|
||||
"distance_penalty_weight": 2.2458270153688256,
|
||||
"cluster_radius_km": 5.072205045478337,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5099991858145683
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
203
ml_data/reports/tuning_20260407_073036.json
Normal file
203
ml_data/reports/tuning_20260407_073036.json
Normal file
@@ -0,0 +1,203 @@
|
||||
{
|
||||
"timestamp": "2026-04-07T07:30:36.399076",
|
||||
"training_rows": 97,
|
||||
"n_trials": 150,
|
||||
"best_predicted_quality": 89.24,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 6.735532343839225,
|
||||
"max_kitchen_distance_km": 4.197619251759459,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.5214245551586657,
|
||||
"workload_penalty_weight": 163.0140787394627,
|
||||
"distance_penalty_weight": 1.3934513637108987,
|
||||
"cluster_radius_km": 5.037360156635181,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5171200156937537
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7088,
|
||||
"mae": 6.684,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-6.7 pts (R2=0.71, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 68.32,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 97
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 32.37,
|
||||
"quality_delta_10": 23.52,
|
||||
"num_orders": 17.69,
|
||||
"hour": 13.16,
|
||||
"num_riders": 6.24,
|
||||
"day_of_week": 3.27,
|
||||
"max_pickup_distance_km": 1.52,
|
||||
"ideal_load": 0.88,
|
||||
"max_kitchen_distance_km": 0.74,
|
||||
"workload_balance_threshold": 0.26,
|
||||
"distance_penalty_weight": 0.15,
|
||||
"workload_penalty_weight": 0.06,
|
||||
"is_peak": 0.05,
|
||||
"max_orders_per_rider": 0.04,
|
||||
"search_time_limit_seconds": 0.04,
|
||||
"cluster_radius_km": 0.01
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.735532343839225,
|
||||
"max_kitchen_distance_km": 4.197619251759459,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.5214245551586657,
|
||||
"workload_penalty_weight": 163.0140787394627,
|
||||
"distance_penalty_weight": 1.3934513637108987,
|
||||
"cluster_radius_km": 5.037360156635181,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5171200156937537
|
||||
},
|
||||
"score": 89.23719024658203
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.841710404740362,
|
||||
"max_kitchen_distance_km": 4.198812185585421,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.8052332485018651,
|
||||
"workload_penalty_weight": 165.15689218876625,
|
||||
"distance_penalty_weight": 1.4435780491881305,
|
||||
"cluster_radius_km": 5.072181010489,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5088037965000476
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.820924491481588,
|
||||
"max_kitchen_distance_km": 4.2236188681147215,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9412844641881769,
|
||||
"workload_penalty_weight": 164.41212568224842,
|
||||
"distance_penalty_weight": 1.80390299391351,
|
||||
"cluster_radius_km": 5.068709178325149,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5114592113174095
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.771003849233631,
|
||||
"max_kitchen_distance_km": 4.260033470051556,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9419209792018807,
|
||||
"workload_penalty_weight": 163.16077813565002,
|
||||
"distance_penalty_weight": 2.009287785194642,
|
||||
"cluster_radius_km": 5.059599874516481,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.510934727861319
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.865086023552823,
|
||||
"max_kitchen_distance_km": 4.2300955001234835,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9485099501223543,
|
||||
"workload_penalty_weight": 113.50121305628458,
|
||||
"distance_penalty_weight": 2.217076259867863,
|
||||
"cluster_radius_km": 5.0206807120073345,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5158307797044195
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.809685584778185,
|
||||
"max_kitchen_distance_km": 4.2054614892522615,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9498351517670537,
|
||||
"workload_penalty_weight": 121.30396082659882,
|
||||
"distance_penalty_weight": 2.3357136947778963,
|
||||
"cluster_radius_km": 5.0512215296804115,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5116252292771089
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.813005359405248,
|
||||
"max_kitchen_distance_km": 4.1953195698102,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9408856743556727,
|
||||
"workload_penalty_weight": 112.5369693779748,
|
||||
"distance_penalty_weight": 2.2557510241755763,
|
||||
"cluster_radius_km": 5.072844374062231,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5122502590292002
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.804074242310791,
|
||||
"max_kitchen_distance_km": 4.206409080848127,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9468038885349329,
|
||||
"workload_penalty_weight": 118.93403357911558,
|
||||
"distance_penalty_weight": 2.2764083947813107,
|
||||
"cluster_radius_km": 5.044194353666736,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5146413175465638
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.83707314646065,
|
||||
"max_kitchen_distance_km": 4.23929386242376,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9453355580279756,
|
||||
"workload_penalty_weight": 116.37037778507518,
|
||||
"distance_penalty_weight": 2.4693040098737296,
|
||||
"cluster_radius_km": 5.072886824671098,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5159033836084548
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.830306126015477,
|
||||
"max_kitchen_distance_km": 4.217592923048695,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9455786388966734,
|
||||
"workload_penalty_weight": 114.0384093899957,
|
||||
"distance_penalty_weight": 2.2458270153688256,
|
||||
"cluster_radius_km": 5.072205045478337,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5099991858145683
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
203
ml_data/reports/tuning_20260407_083837.json
Normal file
203
ml_data/reports/tuning_20260407_083837.json
Normal file
@@ -0,0 +1,203 @@
|
||||
{
|
||||
"timestamp": "2026-04-07T08:38:37.380580",
|
||||
"training_rows": 97,
|
||||
"n_trials": 150,
|
||||
"best_predicted_quality": 89.24,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 6.735532343839225,
|
||||
"max_kitchen_distance_km": 4.197619251759459,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.5214245551586657,
|
||||
"workload_penalty_weight": 163.0140787394627,
|
||||
"distance_penalty_weight": 1.3934513637108987,
|
||||
"cluster_radius_km": 5.037360156635181,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5171200156937537
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7088,
|
||||
"mae": 6.684,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-6.7 pts (R2=0.71, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 68.32,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 97
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 32.5,
|
||||
"quality_delta_10": 23.4,
|
||||
"num_orders": 17.57,
|
||||
"hour": 12.99,
|
||||
"num_riders": 6.14,
|
||||
"day_of_week": 3.61,
|
||||
"max_pickup_distance_km": 1.56,
|
||||
"ideal_load": 0.89,
|
||||
"max_kitchen_distance_km": 0.75,
|
||||
"workload_balance_threshold": 0.26,
|
||||
"distance_penalty_weight": 0.15,
|
||||
"workload_penalty_weight": 0.06,
|
||||
"is_peak": 0.05,
|
||||
"max_orders_per_rider": 0.04,
|
||||
"search_time_limit_seconds": 0.03,
|
||||
"cluster_radius_km": 0.01
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.735532343839225,
|
||||
"max_kitchen_distance_km": 4.197619251759459,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.5214245551586657,
|
||||
"workload_penalty_weight": 163.0140787394627,
|
||||
"distance_penalty_weight": 1.3934513637108987,
|
||||
"cluster_radius_km": 5.037360156635181,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5171200156937537
|
||||
},
|
||||
"score": 89.23719024658203
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.841710404740362,
|
||||
"max_kitchen_distance_km": 4.198812185585421,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.8052332485018651,
|
||||
"workload_penalty_weight": 165.15689218876625,
|
||||
"distance_penalty_weight": 1.4435780491881305,
|
||||
"cluster_radius_km": 5.072181010489,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5088037965000476
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.820924491481588,
|
||||
"max_kitchen_distance_km": 4.2236188681147215,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9412844641881769,
|
||||
"workload_penalty_weight": 164.41212568224842,
|
||||
"distance_penalty_weight": 1.80390299391351,
|
||||
"cluster_radius_km": 5.068709178325149,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5114592113174095
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.771003849233631,
|
||||
"max_kitchen_distance_km": 4.260033470051556,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9419209792018807,
|
||||
"workload_penalty_weight": 163.16077813565002,
|
||||
"distance_penalty_weight": 2.009287785194642,
|
||||
"cluster_radius_km": 5.059599874516481,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.510934727861319
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.865086023552823,
|
||||
"max_kitchen_distance_km": 4.2300955001234835,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9485099501223543,
|
||||
"workload_penalty_weight": 113.50121305628458,
|
||||
"distance_penalty_weight": 2.217076259867863,
|
||||
"cluster_radius_km": 5.0206807120073345,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5158307797044195
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.809685584778185,
|
||||
"max_kitchen_distance_km": 4.2054614892522615,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9498351517670537,
|
||||
"workload_penalty_weight": 121.30396082659882,
|
||||
"distance_penalty_weight": 2.3357136947778963,
|
||||
"cluster_radius_km": 5.0512215296804115,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5116252292771089
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.813005359405248,
|
||||
"max_kitchen_distance_km": 4.1953195698102,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9408856743556727,
|
||||
"workload_penalty_weight": 112.5369693779748,
|
||||
"distance_penalty_weight": 2.2557510241755763,
|
||||
"cluster_radius_km": 5.072844374062231,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5122502590292002
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.804074242310791,
|
||||
"max_kitchen_distance_km": 4.206409080848127,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9468038885349329,
|
||||
"workload_penalty_weight": 118.93403357911558,
|
||||
"distance_penalty_weight": 2.2764083947813107,
|
||||
"cluster_radius_km": 5.044194353666736,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5146413175465638
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.83707314646065,
|
||||
"max_kitchen_distance_km": 4.23929386242376,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9453355580279756,
|
||||
"workload_penalty_weight": 116.37037778507518,
|
||||
"distance_penalty_weight": 2.4693040098737296,
|
||||
"cluster_radius_km": 5.072886824671098,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5159033836084548
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 6.830306126015477,
|
||||
"max_kitchen_distance_km": 4.217592923048695,
|
||||
"max_orders_per_rider": 16,
|
||||
"ideal_load": 3,
|
||||
"workload_balance_threshold": 0.9455786388966734,
|
||||
"workload_penalty_weight": 114.0384093899957,
|
||||
"distance_penalty_weight": 2.2458270153688256,
|
||||
"cluster_radius_km": 5.072205045478337,
|
||||
"search_time_limit_seconds": 12,
|
||||
"road_factor": 1.5099991858145683
|
||||
},
|
||||
"score": 89.02847290039062
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
203
ml_data/reports/tuning_20260407_100305.json
Normal file
203
ml_data/reports/tuning_20260407_100305.json
Normal file
@@ -0,0 +1,203 @@
|
||||
{
|
||||
"timestamp": "2026-04-07T10:03:05.667921",
|
||||
"training_rows": 97,
|
||||
"n_trials": 150,
|
||||
"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.7088,
|
||||
"mae": 6.684,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-6.7 pts (R2=0.71, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 68.32,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 97
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 32.72,
|
||||
"quality_delta_10": 23.53,
|
||||
"num_orders": 17.26,
|
||||
"hour": 12.84,
|
||||
"num_riders": 6.04,
|
||||
"day_of_week": 3.81,
|
||||
"max_pickup_distance_km": 1.59,
|
||||
"ideal_load": 0.85,
|
||||
"max_kitchen_distance_km": 0.73,
|
||||
"workload_balance_threshold": 0.27,
|
||||
"distance_penalty_weight": 0.15,
|
||||
"workload_penalty_weight": 0.07,
|
||||
"is_peak": 0.05,
|
||||
"search_time_limit_seconds": 0.05,
|
||||
"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": []
|
||||
}
|
||||
203
ml_data/reports/tuning_20260407_110353.json
Normal file
203
ml_data/reports/tuning_20260407_110353.json
Normal file
@@ -0,0 +1,203 @@
|
||||
{
|
||||
"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": []
|
||||
}
|
||||
203
ml_data/reports/tuning_20260407_111751.json
Normal file
203
ml_data/reports/tuning_20260407_111751.json
Normal file
@@ -0,0 +1,203 @@
|
||||
{
|
||||
"timestamp": "2026-04-07T11:17:51.094393",
|
||||
"training_rows": 110,
|
||||
"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.6382,
|
||||
"mae": 7.893,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-7.9 pts (R2=0.64, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 70.8,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 110
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 33.0,
|
||||
"quality_delta_10": 23.79,
|
||||
"num_orders": 16.93,
|
||||
"hour": 12.16,
|
||||
"num_riders": 5.79,
|
||||
"day_of_week": 3.89,
|
||||
"max_pickup_distance_km": 1.57,
|
||||
"ideal_load": 0.83,
|
||||
"workload_balance_threshold": 0.82,
|
||||
"max_kitchen_distance_km": 0.75,
|
||||
"distance_penalty_weight": 0.25,
|
||||
"search_time_limit_seconds": 0.08,
|
||||
"workload_penalty_weight": 0.07,
|
||||
"is_peak": 0.04,
|
||||
"max_orders_per_rider": 0.03,
|
||||
"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": []
|
||||
}
|
||||
203
ml_data/reports/tuning_20260407_140402.json
Normal file
203
ml_data/reports/tuning_20260407_140402.json
Normal file
@@ -0,0 +1,203 @@
|
||||
{
|
||||
"timestamp": "2026-04-07T14:04:02.609922",
|
||||
"training_rows": 114,
|
||||
"n_trials": 150,
|
||||
"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.6981,
|
||||
"mae": 7.183,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-7.2 pts (R2=0.70, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 71.4,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 114
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 33.4,
|
||||
"quality_delta_10": 23.95,
|
||||
"num_orders": 16.78,
|
||||
"hour": 11.7,
|
||||
"num_riders": 5.57,
|
||||
"day_of_week": 3.82,
|
||||
"max_pickup_distance_km": 1.6,
|
||||
"workload_balance_threshold": 0.99,
|
||||
"max_kitchen_distance_km": 0.86,
|
||||
"ideal_load": 0.81,
|
||||
"distance_penalty_weight": 0.29,
|
||||
"search_time_limit_seconds": 0.08,
|
||||
"workload_penalty_weight": 0.06,
|
||||
"is_peak": 0.04,
|
||||
"max_orders_per_rider": 0.03,
|
||||
"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": []
|
||||
}
|
||||
203
ml_data/reports/tuning_20260408_015925.json
Normal file
203
ml_data/reports/tuning_20260408_015925.json
Normal file
@@ -0,0 +1,203 @@
|
||||
{
|
||||
"timestamp": "2026-04-08T01:59:25.823452",
|
||||
"training_rows": 120,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 92.25,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.06481043213385,
|
||||
"max_kitchen_distance_km": 3.4015023381031066,
|
||||
"max_orders_per_rider": 18,
|
||||
"ideal_load": 2,
|
||||
"workload_balance_threshold": 0.8854774976463162,
|
||||
"workload_penalty_weight": 71.31874178529236,
|
||||
"distance_penalty_weight": 5.251800998756471,
|
||||
"cluster_radius_km": 3.1742579527544135,
|
||||
"search_time_limit_seconds": 15,
|
||||
"road_factor": 1.4514851515502691
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.616,
|
||||
"mae": 7.429,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-7.4 pts (R2=0.62, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 72.2,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 120
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 33.36,
|
||||
"quality_delta_10": 23.75,
|
||||
"num_orders": 16.69,
|
||||
"hour": 11.65,
|
||||
"num_riders": 5.46,
|
||||
"day_of_week": 4.1,
|
||||
"max_pickup_distance_km": 1.61,
|
||||
"workload_balance_threshold": 1.09,
|
||||
"max_kitchen_distance_km": 0.96,
|
||||
"ideal_load": 0.78,
|
||||
"distance_penalty_weight": 0.32,
|
||||
"search_time_limit_seconds": 0.09,
|
||||
"workload_penalty_weight": 0.07,
|
||||
"is_peak": 0.04,
|
||||
"max_orders_per_rider": 0.03,
|
||||
"cluster_radius_km": 0.01
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.06481043213385,
|
||||
"max_kitchen_distance_km": 3.4015023381031066,
|
||||
"max_orders_per_rider": 18,
|
||||
"ideal_load": 2,
|
||||
"workload_balance_threshold": 0.8854774976463162,
|
||||
"workload_penalty_weight": 71.31874178529236,
|
||||
"distance_penalty_weight": 5.251800998756471,
|
||||
"cluster_radius_km": 3.1742579527544135,
|
||||
"search_time_limit_seconds": 15,
|
||||
"road_factor": 1.4514851515502691
|
||||
},
|
||||
"score": 92.25444030761719
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.192046567640352,
|
||||
"max_kitchen_distance_km": 3.255736910817752,
|
||||
"max_orders_per_rider": 18,
|
||||
"ideal_load": 2,
|
||||
"workload_balance_threshold": 0.8861488034083437,
|
||||
"workload_penalty_weight": 64.69295331787431,
|
||||
"distance_penalty_weight": 4.885948258458615,
|
||||
"cluster_radius_km": 3.2315218916206643,
|
||||
"search_time_limit_seconds": 15,
|
||||
"road_factor": 1.4489842722670299
|
||||
},
|
||||
"score": 92.25444030761719
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.465745263942209,
|
||||
"max_kitchen_distance_km": 3.1508636771017096,
|
||||
"max_orders_per_rider": 18,
|
||||
"ideal_load": 2,
|
||||
"workload_balance_threshold": 0.8865213031808884,
|
||||
"workload_penalty_weight": 73.71163228634174,
|
||||
"distance_penalty_weight": 4.967498460686126,
|
||||
"cluster_radius_km": 3.1698973794905356,
|
||||
"search_time_limit_seconds": 15,
|
||||
"road_factor": 1.422456216687863
|
||||
},
|
||||
"score": 92.25444030761719
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.658751131791412,
|
||||
"max_kitchen_distance_km": 3.1289847468246923,
|
||||
"max_orders_per_rider": 18,
|
||||
"ideal_load": 2,
|
||||
"workload_balance_threshold": 0.8890167428098635,
|
||||
"workload_penalty_weight": 59.53054150526803,
|
||||
"distance_penalty_weight": 5.07974040945962,
|
||||
"cluster_radius_km": 2.8353557151054263,
|
||||
"search_time_limit_seconds": 15,
|
||||
"road_factor": 1.4182651473905141
|
||||
},
|
||||
"score": 92.25444030761719
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.577015198480908,
|
||||
"max_kitchen_distance_km": 2.78301183338396,
|
||||
"max_orders_per_rider": 18,
|
||||
"ideal_load": 2,
|
||||
"workload_balance_threshold": 0.8877654202870595,
|
||||
"workload_penalty_weight": 51.21011204233429,
|
||||
"distance_penalty_weight": 4.9175274061818355,
|
||||
"cluster_radius_km": 2.6312971349957284,
|
||||
"search_time_limit_seconds": 15,
|
||||
"road_factor": 1.4249666800020322
|
||||
},
|
||||
"score": 92.25444030761719
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.532598643804405,
|
||||
"max_kitchen_distance_km": 2.6280764984826943,
|
||||
"max_orders_per_rider": 18,
|
||||
"ideal_load": 2,
|
||||
"workload_balance_threshold": 0.8869941742261025,
|
||||
"workload_penalty_weight": 56.52753449139206,
|
||||
"distance_penalty_weight": 4.802785620267564,
|
||||
"cluster_radius_km": 2.8517992927555738,
|
||||
"search_time_limit_seconds": 15,
|
||||
"road_factor": 1.4242780622502393
|
||||
},
|
||||
"score": 92.25444030761719
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.673634610211629,
|
||||
"max_kitchen_distance_km": 2.8412478114367823,
|
||||
"max_orders_per_rider": 18,
|
||||
"ideal_load": 2,
|
||||
"workload_balance_threshold": 0.889386447087841,
|
||||
"workload_penalty_weight": 53.3795093968611,
|
||||
"distance_penalty_weight": 4.621048761108392,
|
||||
"cluster_radius_km": 2.77752450644401,
|
||||
"search_time_limit_seconds": 15,
|
||||
"road_factor": 1.4126712411250215
|
||||
},
|
||||
"score": 92.25444030761719
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.430990051063922,
|
||||
"max_kitchen_distance_km": 2.9355029612495747,
|
||||
"max_orders_per_rider": 18,
|
||||
"ideal_load": 2,
|
||||
"workload_balance_threshold": 0.8898317648909523,
|
||||
"workload_penalty_weight": 54.5117727580679,
|
||||
"distance_penalty_weight": 4.667163256985533,
|
||||
"cluster_radius_km": 2.4951293970125565,
|
||||
"search_time_limit_seconds": 15,
|
||||
"road_factor": 1.4187885549435315
|
||||
},
|
||||
"score": 92.25444030761719
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.695868295786404,
|
||||
"max_kitchen_distance_km": 2.736527002166546,
|
||||
"max_orders_per_rider": 18,
|
||||
"ideal_load": 2,
|
||||
"workload_balance_threshold": 0.8869639543238491,
|
||||
"workload_penalty_weight": 54.467432219870865,
|
||||
"distance_penalty_weight": 4.652311237990631,
|
||||
"cluster_radius_km": 2.5861719561037835,
|
||||
"search_time_limit_seconds": 15,
|
||||
"road_factor": 1.4175015822588442
|
||||
},
|
||||
"score": 92.25444030761719
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.665798467617625,
|
||||
"max_kitchen_distance_km": 2.824631639618233,
|
||||
"max_orders_per_rider": 18,
|
||||
"ideal_load": 2,
|
||||
"workload_balance_threshold": 0.8882049414309126,
|
||||
"workload_penalty_weight": 56.35229400942434,
|
||||
"distance_penalty_weight": 4.667281906791758,
|
||||
"cluster_radius_km": 2.3924771955092528,
|
||||
"search_time_limit_seconds": 15,
|
||||
"road_factor": 1.4284644715328136
|
||||
},
|
||||
"score": 92.25444030761719
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
203
ml_data/reports/tuning_20260408_054840.json
Normal file
203
ml_data/reports/tuning_20260408_054840.json
Normal file
@@ -0,0 +1,203 @@
|
||||
{
|
||||
"timestamp": "2026-04-08T05:48:40.849512",
|
||||
"training_rows": 130,
|
||||
"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.6574,
|
||||
"mae": 6.701,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-6.7 pts (R2=0.66, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 73.37,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 130
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 33.09,
|
||||
"quality_delta_10": 23.84,
|
||||
"num_orders": 16.42,
|
||||
"hour": 11.65,
|
||||
"num_riders": 5.34,
|
||||
"day_of_week": 4.32,
|
||||
"max_pickup_distance_km": 1.58,
|
||||
"workload_balance_threshold": 1.17,
|
||||
"max_kitchen_distance_km": 1.0,
|
||||
"ideal_load": 0.8,
|
||||
"distance_penalty_weight": 0.33,
|
||||
"max_orders_per_rider": 0.26,
|
||||
"search_time_limit_seconds": 0.09,
|
||||
"workload_penalty_weight": 0.06,
|
||||
"is_peak": 0.04,
|
||||
"cluster_radius_km": 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": []
|
||||
}
|
||||
203
ml_data/reports/tuning_20260408_060150.json
Normal file
203
ml_data/reports/tuning_20260408_060150.json
Normal file
@@ -0,0 +1,203 @@
|
||||
{
|
||||
"timestamp": "2026-04-08T06:01:50.655317",
|
||||
"training_rows": 135,
|
||||
"n_trials": 150,
|
||||
"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.6748,
|
||||
"mae": 6.88,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-6.9 pts (R2=0.67, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 73.75,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 135
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 33.49,
|
||||
"quality_delta_10": 22.54,
|
||||
"num_orders": 16.72,
|
||||
"hour": 10.72,
|
||||
"num_riders": 6.87,
|
||||
"day_of_week": 3.69,
|
||||
"max_pickup_distance_km": 2.66,
|
||||
"max_kitchen_distance_km": 1.07,
|
||||
"workload_balance_threshold": 0.55,
|
||||
"ideal_load": 0.4,
|
||||
"distance_penalty_weight": 0.4,
|
||||
"max_orders_per_rider": 0.29,
|
||||
"workload_penalty_weight": 0.23,
|
||||
"road_factor": 0.17,
|
||||
"cluster_radius_km": 0.15,
|
||||
"is_peak": 0.04
|
||||
},
|
||||
"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": []
|
||||
}
|
||||
203
ml_data/reports/tuning_20260408_061410.json
Normal file
203
ml_data/reports/tuning_20260408_061410.json
Normal file
@@ -0,0 +1,203 @@
|
||||
{
|
||||
"timestamp": "2026-04-08T06:14:10.256562",
|
||||
"training_rows": 140,
|
||||
"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.6832,
|
||||
"mae": 6.562,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-6.6 pts (R2=0.68, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 74.26,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 140
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 32.77,
|
||||
"quality_delta_10": 23.82,
|
||||
"num_orders": 16.26,
|
||||
"hour": 11.68,
|
||||
"num_riders": 5.17,
|
||||
"day_of_week": 4.37,
|
||||
"max_pickup_distance_km": 1.56,
|
||||
"workload_balance_threshold": 1.29,
|
||||
"max_kitchen_distance_km": 1.24,
|
||||
"ideal_load": 0.82,
|
||||
"max_orders_per_rider": 0.47,
|
||||
"distance_penalty_weight": 0.34,
|
||||
"search_time_limit_seconds": 0.1,
|
||||
"workload_penalty_weight": 0.07,
|
||||
"is_peak": 0.03,
|
||||
"cluster_radius_km": 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": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260408_080516.json
Normal file
204
ml_data/reports/tuning_20260408_080516.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-08T08:05:16.291778",
|
||||
"training_rows": 144,
|
||||
"n_trials": 150,
|
||||
"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.8091,
|
||||
"mae": 5.063,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-5.1 pts (R2=0.81, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 74.63,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 144
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 32.54,
|
||||
"quality_delta_10": 23.81,
|
||||
"num_orders": 16.06,
|
||||
"hour": 11.64,
|
||||
"num_riders": 5.03,
|
||||
"day_of_week": 4.54,
|
||||
"max_pickup_distance_km": 1.55,
|
||||
"max_kitchen_distance_km": 1.55,
|
||||
"workload_balance_threshold": 1.34,
|
||||
"ideal_load": 0.81,
|
||||
"max_orders_per_rider": 0.61,
|
||||
"distance_penalty_weight": 0.34,
|
||||
"search_time_limit_seconds": 0.09,
|
||||
"workload_penalty_weight": 0.07,
|
||||
"is_peak": 0.03,
|
||||
"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": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260408_120544.json
Normal file
204
ml_data/reports/tuning_20260408_120544.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-08T12:05:44.523551",
|
||||
"training_rows": 152,
|
||||
"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.6953,
|
||||
"mae": 5.522,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-5.5 pts (R2=0.70, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 75.03,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 152
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 32.41,
|
||||
"quality_delta_10": 23.58,
|
||||
"num_orders": 15.76,
|
||||
"hour": 12.0,
|
||||
"num_riders": 4.87,
|
||||
"day_of_week": 4.56,
|
||||
"max_kitchen_distance_km": 1.83,
|
||||
"max_pickup_distance_km": 1.6,
|
||||
"workload_balance_threshold": 1.36,
|
||||
"ideal_load": 0.8,
|
||||
"max_orders_per_rider": 0.68,
|
||||
"distance_penalty_weight": 0.33,
|
||||
"search_time_limit_seconds": 0.09,
|
||||
"is_peak": 0.07,
|
||||
"workload_penalty_weight": 0.07,
|
||||
"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": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260408_122052.json
Normal file
204
ml_data/reports/tuning_20260408_122052.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-08T12:20:52.868913",
|
||||
"training_rows": 162,
|
||||
"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.7575,
|
||||
"mae": 5.373,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-5.4 pts (R2=0.76, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 75.6,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 162
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 32.38,
|
||||
"quality_delta_10": 23.56,
|
||||
"num_orders": 15.58,
|
||||
"hour": 12.2,
|
||||
"num_riders": 4.68,
|
||||
"day_of_week": 4.52,
|
||||
"max_kitchen_distance_km": 2.03,
|
||||
"max_pickup_distance_km": 1.62,
|
||||
"workload_balance_threshold": 1.35,
|
||||
"ideal_load": 0.78,
|
||||
"max_orders_per_rider": 0.71,
|
||||
"distance_penalty_weight": 0.32,
|
||||
"is_peak": 0.11,
|
||||
"search_time_limit_seconds": 0.08,
|
||||
"workload_penalty_weight": 0.07,
|
||||
"cluster_radius_km": 0.01,
|
||||
"road_factor": 0.0
|
||||
},
|
||||
"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": []
|
||||
}
|
||||
203
ml_data/reports/tuning_20260408_122141.json
Normal file
203
ml_data/reports/tuning_20260408_122141.json
Normal file
@@ -0,0 +1,203 @@
|
||||
{
|
||||
"timestamp": "2026-04-08T12:21:41.970035",
|
||||
"training_rows": 163,
|
||||
"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.731,
|
||||
"mae": 5.408,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-5.4 pts (R2=0.73, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 75.62,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 163
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 32.82,
|
||||
"quality_delta_10": 23.04,
|
||||
"num_orders": 16.45,
|
||||
"hour": 11.2,
|
||||
"num_riders": 6.22,
|
||||
"day_of_week": 4.0,
|
||||
"max_pickup_distance_km": 2.56,
|
||||
"max_kitchen_distance_km": 1.18,
|
||||
"workload_balance_threshold": 0.67,
|
||||
"ideal_load": 0.43,
|
||||
"max_orders_per_rider": 0.42,
|
||||
"distance_penalty_weight": 0.37,
|
||||
"workload_penalty_weight": 0.19,
|
||||
"cluster_radius_km": 0.18,
|
||||
"road_factor": 0.18,
|
||||
"is_peak": 0.08
|
||||
},
|
||||
"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": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260408_132513.json
Normal file
204
ml_data/reports/tuning_20260408_132513.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-08T13:25:13.311096",
|
||||
"training_rows": 163,
|
||||
"n_trials": 150,
|
||||
"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.731,
|
||||
"mae": 5.408,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-5.4 pts (R2=0.73, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 75.62,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 163
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 32.56,
|
||||
"quality_delta_10": 23.42,
|
||||
"num_orders": 15.56,
|
||||
"hour": 12.21,
|
||||
"num_riders": 4.5,
|
||||
"day_of_week": 4.48,
|
||||
"max_kitchen_distance_km": 2.14,
|
||||
"max_pickup_distance_km": 1.65,
|
||||
"workload_balance_threshold": 1.33,
|
||||
"max_orders_per_rider": 0.78,
|
||||
"ideal_load": 0.75,
|
||||
"distance_penalty_weight": 0.31,
|
||||
"is_peak": 0.15,
|
||||
"search_time_limit_seconds": 0.08,
|
||||
"workload_penalty_weight": 0.07,
|
||||
"cluster_radius_km": 0.01,
|
||||
"road_factor": 0.0
|
||||
},
|
||||
"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": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260409_015639.json
Normal file
204
ml_data/reports/tuning_20260409_015639.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-09T01:56:39.596409",
|
||||
"training_rows": 173,
|
||||
"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.7102,
|
||||
"mae": 5.393,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-5.4 pts (R2=0.71, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 75.95,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 173
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 32.28,
|
||||
"quality_delta_10": 23.34,
|
||||
"num_orders": 15.52,
|
||||
"hour": 12.41,
|
||||
"day_of_week": 4.64,
|
||||
"num_riders": 4.46,
|
||||
"max_kitchen_distance_km": 2.19,
|
||||
"max_pickup_distance_km": 1.63,
|
||||
"workload_balance_threshold": 1.33,
|
||||
"max_orders_per_rider": 0.81,
|
||||
"ideal_load": 0.74,
|
||||
"distance_penalty_weight": 0.3,
|
||||
"is_peak": 0.19,
|
||||
"search_time_limit_seconds": 0.08,
|
||||
"workload_penalty_weight": 0.06,
|
||||
"cluster_radius_km": 0.01,
|
||||
"road_factor": 0.0
|
||||
},
|
||||
"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": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260409_054959.json
Normal file
204
ml_data/reports/tuning_20260409_054959.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-09T05:49:59.012537",
|
||||
"training_rows": 183,
|
||||
"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.7171,
|
||||
"mae": 5.359,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-5.4 pts (R2=0.72, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 76.21,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 183
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 31.93,
|
||||
"quality_delta_10": 23.31,
|
||||
"num_orders": 15.45,
|
||||
"hour": 12.61,
|
||||
"day_of_week": 4.83,
|
||||
"num_riders": 4.47,
|
||||
"max_kitchen_distance_km": 2.25,
|
||||
"max_pickup_distance_km": 1.58,
|
||||
"workload_balance_threshold": 1.31,
|
||||
"max_orders_per_rider": 0.84,
|
||||
"ideal_load": 0.73,
|
||||
"distance_penalty_weight": 0.3,
|
||||
"is_peak": 0.24,
|
||||
"search_time_limit_seconds": 0.08,
|
||||
"workload_penalty_weight": 0.06,
|
||||
"cluster_radius_km": 0.01,
|
||||
"road_factor": 0.0
|
||||
},
|
||||
"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": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260409_061037.json
Normal file
204
ml_data/reports/tuning_20260409_061037.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-09T06:10:37.922473",
|
||||
"training_rows": 193,
|
||||
"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.6191,
|
||||
"mae": 5.769,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-5.8 pts (R2=0.62, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 76.21,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 193
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 31.82,
|
||||
"quality_delta_10": 23.25,
|
||||
"num_orders": 15.33,
|
||||
"hour": 12.81,
|
||||
"day_of_week": 5.08,
|
||||
"num_riders": 4.36,
|
||||
"max_kitchen_distance_km": 2.28,
|
||||
"max_pickup_distance_km": 1.53,
|
||||
"workload_balance_threshold": 1.3,
|
||||
"max_orders_per_rider": 0.83,
|
||||
"ideal_load": 0.7,
|
||||
"distance_penalty_weight": 0.29,
|
||||
"is_peak": 0.26,
|
||||
"search_time_limit_seconds": 0.08,
|
||||
"workload_penalty_weight": 0.06,
|
||||
"cluster_radius_km": 0.02,
|
||||
"road_factor": 0.0
|
||||
},
|
||||
"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": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260409_114639.json
Normal file
204
ml_data/reports/tuning_20260409_114639.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-09T11:46:39.113092",
|
||||
"training_rows": 204,
|
||||
"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.7589,
|
||||
"mae": 5.129,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-5.1 pts (R2=0.76, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 76.45,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 204
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 31.67,
|
||||
"quality_delta_10": 23.28,
|
||||
"num_orders": 15.27,
|
||||
"hour": 12.94,
|
||||
"day_of_week": 5.31,
|
||||
"num_riders": 4.21,
|
||||
"max_kitchen_distance_km": 2.32,
|
||||
"max_pickup_distance_km": 1.51,
|
||||
"workload_balance_threshold": 1.26,
|
||||
"max_orders_per_rider": 0.82,
|
||||
"ideal_load": 0.67,
|
||||
"distance_penalty_weight": 0.29,
|
||||
"is_peak": 0.28,
|
||||
"search_time_limit_seconds": 0.07,
|
||||
"workload_penalty_weight": 0.06,
|
||||
"cluster_radius_km": 0.02,
|
||||
"road_factor": 0.0
|
||||
},
|
||||
"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": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260410_014905.json
Normal file
204
ml_data/reports/tuning_20260410_014905.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-10T01:49:05.855440",
|
||||
"training_rows": 218,
|
||||
"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.7494,
|
||||
"mae": 4.873,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-4.9 pts (R2=0.75, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 76.82,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 218
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 31.54,
|
||||
"quality_delta_10": 23.22,
|
||||
"num_orders": 15.09,
|
||||
"hour": 13.12,
|
||||
"day_of_week": 5.59,
|
||||
"num_riders": 4.17,
|
||||
"max_kitchen_distance_km": 2.34,
|
||||
"max_pickup_distance_km": 1.51,
|
||||
"workload_balance_threshold": 1.23,
|
||||
"max_orders_per_rider": 0.83,
|
||||
"ideal_load": 0.65,
|
||||
"is_peak": 0.28,
|
||||
"distance_penalty_weight": 0.28,
|
||||
"search_time_limit_seconds": 0.07,
|
||||
"workload_penalty_weight": 0.06,
|
||||
"cluster_radius_km": 0.02,
|
||||
"road_factor": 0.0
|
||||
},
|
||||
"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": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260410_055729.json
Normal file
204
ml_data/reports/tuning_20260410_055729.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-10T05:57:29.803436",
|
||||
"training_rows": 229,
|
||||
"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.7527,
|
||||
"mae": 5.039,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-5.0 pts (R2=0.75, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 77.03,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 229
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 31.49,
|
||||
"quality_delta_10": 23.24,
|
||||
"num_orders": 14.9,
|
||||
"hour": 13.17,
|
||||
"day_of_week": 5.9,
|
||||
"num_riders": 4.14,
|
||||
"max_kitchen_distance_km": 2.33,
|
||||
"max_pickup_distance_km": 1.5,
|
||||
"workload_balance_threshold": 1.2,
|
||||
"max_orders_per_rider": 0.8,
|
||||
"ideal_load": 0.63,
|
||||
"is_peak": 0.27,
|
||||
"distance_penalty_weight": 0.27,
|
||||
"search_time_limit_seconds": 0.07,
|
||||
"workload_penalty_weight": 0.06,
|
||||
"cluster_radius_km": 0.02,
|
||||
"road_factor": 0.0
|
||||
},
|
||||
"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": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260410_061442.json
Normal file
204
ml_data/reports/tuning_20260410_061442.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-10T06:14:42.873102",
|
||||
"training_rows": 239,
|
||||
"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.7729,
|
||||
"mae": 4.771,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-4.8 pts (R2=0.77, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 77.02,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 239
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 31.48,
|
||||
"quality_delta_10": 23.26,
|
||||
"num_orders": 14.8,
|
||||
"hour": 13.2,
|
||||
"day_of_week": 6.2,
|
||||
"num_riders": 4.07,
|
||||
"max_kitchen_distance_km": 2.3,
|
||||
"max_pickup_distance_km": 1.47,
|
||||
"workload_balance_threshold": 1.17,
|
||||
"max_orders_per_rider": 0.77,
|
||||
"ideal_load": 0.61,
|
||||
"is_peak": 0.27,
|
||||
"distance_penalty_weight": 0.26,
|
||||
"search_time_limit_seconds": 0.06,
|
||||
"workload_penalty_weight": 0.05,
|
||||
"cluster_radius_km": 0.02,
|
||||
"road_factor": 0.0
|
||||
},
|
||||
"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": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260410_122110.json
Normal file
204
ml_data/reports/tuning_20260410_122110.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-10T12:21:10.509651",
|
||||
"training_rows": 250,
|
||||
"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.7474,
|
||||
"mae": 4.817,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-4.8 pts (R2=0.75, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 77.21,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 250
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 31.46,
|
||||
"quality_delta_10": 23.35,
|
||||
"num_orders": 14.72,
|
||||
"hour": 13.21,
|
||||
"day_of_week": 6.42,
|
||||
"num_riders": 3.96,
|
||||
"max_kitchen_distance_km": 2.28,
|
||||
"max_pickup_distance_km": 1.43,
|
||||
"workload_balance_threshold": 1.13,
|
||||
"max_orders_per_rider": 0.76,
|
||||
"ideal_load": 0.58,
|
||||
"is_peak": 0.31,
|
||||
"distance_penalty_weight": 0.26,
|
||||
"search_time_limit_seconds": 0.06,
|
||||
"workload_penalty_weight": 0.05,
|
||||
"cluster_radius_km": 0.02,
|
||||
"road_factor": 0.0
|
||||
},
|
||||
"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": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260411_015238.json
Normal file
204
ml_data/reports/tuning_20260411_015238.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-11T01:52:38.015808",
|
||||
"training_rows": 260,
|
||||
"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.7424,
|
||||
"mae": 4.785,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-4.8 pts (R2=0.74, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 77.43,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 260
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 31.37,
|
||||
"quality_delta_10": 23.4,
|
||||
"num_orders": 14.66,
|
||||
"hour": 13.13,
|
||||
"day_of_week": 6.74,
|
||||
"num_riders": 3.88,
|
||||
"max_kitchen_distance_km": 2.28,
|
||||
"max_pickup_distance_km": 1.4,
|
||||
"workload_balance_threshold": 1.11,
|
||||
"max_orders_per_rider": 0.74,
|
||||
"ideal_load": 0.57,
|
||||
"is_peak": 0.34,
|
||||
"distance_penalty_weight": 0.25,
|
||||
"search_time_limit_seconds": 0.06,
|
||||
"workload_penalty_weight": 0.05,
|
||||
"cluster_radius_km": 0.02,
|
||||
"road_factor": 0.0
|
||||
},
|
||||
"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": []
|
||||
}
|
||||
203
ml_data/reports/tuning_20260411_015600.json
Normal file
203
ml_data/reports/tuning_20260411_015600.json
Normal file
@@ -0,0 +1,203 @@
|
||||
{
|
||||
"timestamp": "2026-04-11T01:56:00.191128",
|
||||
"training_rows": 264,
|
||||
"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.7586,
|
||||
"mae": 4.561,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-4.6 pts (R2=0.76, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 77.4,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 264
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 32.28,
|
||||
"quality_delta_10": 23.47,
|
||||
"num_orders": 15.89,
|
||||
"hour": 11.23,
|
||||
"num_riders": 5.93,
|
||||
"day_of_week": 5.24,
|
||||
"max_pickup_distance_km": 2.28,
|
||||
"max_kitchen_distance_km": 1.23,
|
||||
"workload_balance_threshold": 0.69,
|
||||
"max_orders_per_rider": 0.41,
|
||||
"ideal_load": 0.38,
|
||||
"distance_penalty_weight": 0.36,
|
||||
"cluster_radius_km": 0.19,
|
||||
"road_factor": 0.17,
|
||||
"workload_penalty_weight": 0.16,
|
||||
"is_peak": 0.08
|
||||
},
|
||||
"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": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260411_054545.json
Normal file
204
ml_data/reports/tuning_20260411_054545.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-11T05:45:45.885609",
|
||||
"training_rows": 274,
|
||||
"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.7997,
|
||||
"mae": 4.408,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-4.4 pts (R2=0.80, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 77.64,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 274
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 31.41,
|
||||
"quality_delta_10": 23.44,
|
||||
"num_orders": 14.58,
|
||||
"hour": 13.07,
|
||||
"day_of_week": 6.91,
|
||||
"num_riders": 3.85,
|
||||
"max_kitchen_distance_km": 2.27,
|
||||
"max_pickup_distance_km": 1.37,
|
||||
"workload_balance_threshold": 1.09,
|
||||
"max_orders_per_rider": 0.73,
|
||||
"ideal_load": 0.55,
|
||||
"is_peak": 0.35,
|
||||
"distance_penalty_weight": 0.24,
|
||||
"search_time_limit_seconds": 0.06,
|
||||
"workload_penalty_weight": 0.05,
|
||||
"cluster_radius_km": 0.02,
|
||||
"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": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260411_055753.json
Normal file
204
ml_data/reports/tuning_20260411_055753.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-11T05:57:53.656907",
|
||||
"training_rows": 284,
|
||||
"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.7304,
|
||||
"mae": 4.834,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-4.8 pts (R2=0.73, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 77.58,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 284
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 31.55,
|
||||
"quality_delta_10": 23.61,
|
||||
"num_orders": 14.52,
|
||||
"hour": 13.04,
|
||||
"day_of_week": 6.92,
|
||||
"num_riders": 3.76,
|
||||
"max_kitchen_distance_km": 2.23,
|
||||
"max_pickup_distance_km": 1.38,
|
||||
"workload_balance_threshold": 1.06,
|
||||
"max_orders_per_rider": 0.71,
|
||||
"ideal_load": 0.53,
|
||||
"is_peak": 0.34,
|
||||
"distance_penalty_weight": 0.23,
|
||||
"search_time_limit_seconds": 0.06,
|
||||
"workload_penalty_weight": 0.05,
|
||||
"cluster_radius_km": 0.02,
|
||||
"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": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260411_061149.json
Normal file
204
ml_data/reports/tuning_20260411_061149.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-11T06:11:49.929066",
|
||||
"training_rows": 294,
|
||||
"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.7362,
|
||||
"mae": 4.597,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-4.6 pts (R2=0.74, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 77.82,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 294
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 31.58,
|
||||
"quality_delta_10": 23.69,
|
||||
"num_orders": 14.48,
|
||||
"hour": 13.03,
|
||||
"day_of_week": 7.0,
|
||||
"num_riders": 3.7,
|
||||
"max_kitchen_distance_km": 2.2,
|
||||
"max_pickup_distance_km": 1.38,
|
||||
"workload_balance_threshold": 1.02,
|
||||
"max_orders_per_rider": 0.69,
|
||||
"ideal_load": 0.51,
|
||||
"is_peak": 0.34,
|
||||
"distance_penalty_weight": 0.23,
|
||||
"search_time_limit_seconds": 0.06,
|
||||
"workload_penalty_weight": 0.05,
|
||||
"cluster_radius_km": 0.02,
|
||||
"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": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260411_112244.json
Normal file
204
ml_data/reports/tuning_20260411_112244.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-11T11:22:44.585485",
|
||||
"training_rows": 304,
|
||||
"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.7524,
|
||||
"mae": 4.427,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-4.4 pts (R2=0.75, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 77.93,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 304
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 31.49,
|
||||
"quality_delta_10": 23.78,
|
||||
"num_orders": 14.43,
|
||||
"hour": 13.03,
|
||||
"day_of_week": 7.11,
|
||||
"num_riders": 3.75,
|
||||
"max_kitchen_distance_km": 2.15,
|
||||
"max_pickup_distance_km": 1.39,
|
||||
"workload_balance_threshold": 0.99,
|
||||
"max_orders_per_rider": 0.68,
|
||||
"ideal_load": 0.5,
|
||||
"is_peak": 0.33,
|
||||
"distance_penalty_weight": 0.22,
|
||||
"workload_penalty_weight": 0.06,
|
||||
"search_time_limit_seconds": 0.06,
|
||||
"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": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260413_015615.json
Normal file
204
ml_data/reports/tuning_20260413_015615.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"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": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260413_055256.json
Normal file
204
ml_data/reports/tuning_20260413_055256.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-13T05:52:56.488145",
|
||||
"training_rows": 324,
|
||||
"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.7582,
|
||||
"mae": 4.342,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-4.3 pts (R2=0.76, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 78.1,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 324
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 31.28,
|
||||
"quality_delta_10": 23.92,
|
||||
"num_orders": 14.27,
|
||||
"hour": 12.89,
|
||||
"day_of_week": 7.49,
|
||||
"num_riders": 3.76,
|
||||
"max_kitchen_distance_km": 2.2,
|
||||
"max_pickup_distance_km": 1.37,
|
||||
"workload_balance_threshold": 0.95,
|
||||
"max_orders_per_rider": 0.69,
|
||||
"ideal_load": 0.48,
|
||||
"is_peak": 0.33,
|
||||
"distance_penalty_weight": 0.21,
|
||||
"search_time_limit_seconds": 0.06,
|
||||
"workload_penalty_weight": 0.05,
|
||||
"road_factor": 0.02,
|
||||
"cluster_radius_km": 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": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260413_061522.json
Normal file
204
ml_data/reports/tuning_20260413_061522.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-13T06:15:22.408131",
|
||||
"training_rows": 336,
|
||||
"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.7603,
|
||||
"mae": 4.362,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-4.4 pts (R2=0.76, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 78.12,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 336
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 31.33,
|
||||
"quality_delta_10": 23.95,
|
||||
"num_orders": 14.19,
|
||||
"hour": 12.83,
|
||||
"day_of_week": 7.56,
|
||||
"num_riders": 3.79,
|
||||
"max_kitchen_distance_km": 2.21,
|
||||
"max_pickup_distance_km": 1.37,
|
||||
"workload_balance_threshold": 0.94,
|
||||
"max_orders_per_rider": 0.69,
|
||||
"ideal_load": 0.47,
|
||||
"is_peak": 0.32,
|
||||
"distance_penalty_weight": 0.2,
|
||||
"search_time_limit_seconds": 0.06,
|
||||
"workload_penalty_weight": 0.05,
|
||||
"road_factor": 0.02,
|
||||
"cluster_radius_km": 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": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260413_112726.json
Normal file
204
ml_data/reports/tuning_20260413_112726.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-13T11:27:26.980742",
|
||||
"training_rows": 347,
|
||||
"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.7503,
|
||||
"mae": 4.327,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-4.3 pts (R2=0.75, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 78.33,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 347
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 31.22,
|
||||
"quality_delta_10": 24.08,
|
||||
"num_orders": 14.08,
|
||||
"hour": 12.87,
|
||||
"day_of_week": 7.62,
|
||||
"num_riders": 3.81,
|
||||
"max_kitchen_distance_km": 2.21,
|
||||
"max_pickup_distance_km": 1.38,
|
||||
"workload_balance_threshold": 0.92,
|
||||
"max_orders_per_rider": 0.67,
|
||||
"ideal_load": 0.46,
|
||||
"is_peak": 0.32,
|
||||
"distance_penalty_weight": 0.2,
|
||||
"search_time_limit_seconds": 0.06,
|
||||
"workload_penalty_weight": 0.05,
|
||||
"road_factor": 0.02,
|
||||
"cluster_radius_km": 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": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260413_114616.json
Normal file
204
ml_data/reports/tuning_20260413_114616.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-13T11:46:16.734739",
|
||||
"training_rows": 359,
|
||||
"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.7742,
|
||||
"mae": 4.15,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-4.1 pts (R2=0.77, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 78.44,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 359
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 31.07,
|
||||
"quality_delta_10": 24.23,
|
||||
"num_orders": 14.08,
|
||||
"hour": 12.77,
|
||||
"day_of_week": 7.74,
|
||||
"num_riders": 3.8,
|
||||
"max_kitchen_distance_km": 2.2,
|
||||
"max_pickup_distance_km": 1.43,
|
||||
"workload_balance_threshold": 0.89,
|
||||
"max_orders_per_rider": 0.67,
|
||||
"ideal_load": 0.45,
|
||||
"is_peak": 0.32,
|
||||
"distance_penalty_weight": 0.21,
|
||||
"search_time_limit_seconds": 0.06,
|
||||
"workload_penalty_weight": 0.05,
|
||||
"road_factor": 0.02,
|
||||
"cluster_radius_km": 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": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260413_120123.json
Normal file
204
ml_data/reports/tuning_20260413_120123.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-13T12:01:23.368680",
|
||||
"training_rows": 370,
|
||||
"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.7562,
|
||||
"mae": 4.254,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-4.3 pts (R2=0.76, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 78.6,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 370
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 31.07,
|
||||
"quality_delta_10": 24.32,
|
||||
"num_orders": 13.99,
|
||||
"hour": 12.81,
|
||||
"day_of_week": 7.82,
|
||||
"num_riders": 3.75,
|
||||
"max_kitchen_distance_km": 2.18,
|
||||
"max_pickup_distance_km": 1.44,
|
||||
"workload_balance_threshold": 0.88,
|
||||
"max_orders_per_rider": 0.65,
|
||||
"ideal_load": 0.44,
|
||||
"is_peak": 0.31,
|
||||
"distance_penalty_weight": 0.2,
|
||||
"search_time_limit_seconds": 0.06,
|
||||
"workload_penalty_weight": 0.05,
|
||||
"cluster_radius_km": 0.02,
|
||||
"road_factor": 0.02
|
||||
},
|
||||
"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": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260414_015956.json
Normal file
204
ml_data/reports/tuning_20260414_015956.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-14T01:59:56.908270",
|
||||
"training_rows": 381,
|
||||
"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.7696,
|
||||
"mae": 4.087,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-4.1 pts (R2=0.77, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 78.72,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 381
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 30.99,
|
||||
"quality_delta_10": 24.28,
|
||||
"num_orders": 13.95,
|
||||
"hour": 12.73,
|
||||
"day_of_week": 7.91,
|
||||
"num_riders": 3.85,
|
||||
"max_kitchen_distance_km": 2.16,
|
||||
"max_pickup_distance_km": 1.51,
|
||||
"workload_balance_threshold": 0.86,
|
||||
"max_orders_per_rider": 0.64,
|
||||
"ideal_load": 0.46,
|
||||
"is_peak": 0.31,
|
||||
"distance_penalty_weight": 0.2,
|
||||
"search_time_limit_seconds": 0.07,
|
||||
"workload_penalty_weight": 0.05,
|
||||
"cluster_radius_km": 0.02,
|
||||
"road_factor": 0.02
|
||||
},
|
||||
"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": []
|
||||
}
|
||||
203
ml_data/reports/tuning_20260414_060856.json
Normal file
203
ml_data/reports/tuning_20260414_060856.json
Normal file
@@ -0,0 +1,203 @@
|
||||
{
|
||||
"timestamp": "2026-04-14T06:08:56.503649",
|
||||
"training_rows": 392,
|
||||
"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.768,
|
||||
"mae": 4.008,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-4.0 pts (R2=0.77, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 78.75,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 392
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 31.62,
|
||||
"quality_delta_10": 24.14,
|
||||
"num_orders": 15.25,
|
||||
"hour": 11.38,
|
||||
"day_of_week": 5.81,
|
||||
"num_riders": 5.44,
|
||||
"max_pickup_distance_km": 2.29,
|
||||
"max_kitchen_distance_km": 1.64,
|
||||
"workload_balance_threshold": 0.65,
|
||||
"max_orders_per_rider": 0.55,
|
||||
"ideal_load": 0.35,
|
||||
"distance_penalty_weight": 0.33,
|
||||
"cluster_radius_km": 0.16,
|
||||
"road_factor": 0.16,
|
||||
"workload_penalty_weight": 0.15,
|
||||
"is_peak": 0.09
|
||||
},
|
||||
"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": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260414_061618.json
Normal file
204
ml_data/reports/tuning_20260414_061618.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-14T06:16:18.909310",
|
||||
"training_rows": 394,
|
||||
"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.7665,
|
||||
"mae": 4.043,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-4.0 pts (R2=0.77, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 78.81,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 394
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 30.89,
|
||||
"quality_delta_10": 24.27,
|
||||
"num_orders": 13.87,
|
||||
"hour": 12.68,
|
||||
"day_of_week": 8.12,
|
||||
"num_riders": 3.87,
|
||||
"max_kitchen_distance_km": 2.16,
|
||||
"max_pickup_distance_km": 1.57,
|
||||
"workload_balance_threshold": 0.84,
|
||||
"max_orders_per_rider": 0.64,
|
||||
"ideal_load": 0.45,
|
||||
"is_peak": 0.3,
|
||||
"distance_penalty_weight": 0.19,
|
||||
"search_time_limit_seconds": 0.06,
|
||||
"workload_penalty_weight": 0.05,
|
||||
"cluster_radius_km": 0.02,
|
||||
"road_factor": 0.02
|
||||
},
|
||||
"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": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260414_111856.json
Normal file
204
ml_data/reports/tuning_20260414_111856.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-14T11:18:56.315775",
|
||||
"training_rows": 404,
|
||||
"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.7736,
|
||||
"mae": 4.038,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-4.0 pts (R2=0.77, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 78.94,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 404
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 30.85,
|
||||
"quality_delta_10": 24.17,
|
||||
"num_orders": 13.92,
|
||||
"hour": 12.64,
|
||||
"day_of_week": 8.2,
|
||||
"num_riders": 3.9,
|
||||
"max_kitchen_distance_km": 2.15,
|
||||
"max_pickup_distance_km": 1.63,
|
||||
"workload_balance_threshold": 0.82,
|
||||
"max_orders_per_rider": 0.64,
|
||||
"ideal_load": 0.44,
|
||||
"is_peak": 0.29,
|
||||
"distance_penalty_weight": 0.19,
|
||||
"search_time_limit_seconds": 0.06,
|
||||
"workload_penalty_weight": 0.05,
|
||||
"cluster_radius_km": 0.02,
|
||||
"road_factor": 0.02
|
||||
},
|
||||
"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": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260414_112815.json
Normal file
204
ml_data/reports/tuning_20260414_112815.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-14T11:28:15.974848",
|
||||
"training_rows": 414,
|
||||
"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.7691,
|
||||
"mae": 4.028,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-4.0 pts (R2=0.77, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 78.94,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 414
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 30.8,
|
||||
"quality_delta_10": 24.23,
|
||||
"num_orders": 13.9,
|
||||
"hour": 12.6,
|
||||
"day_of_week": 8.3,
|
||||
"num_riders": 3.86,
|
||||
"max_kitchen_distance_km": 2.14,
|
||||
"max_pickup_distance_km": 1.68,
|
||||
"workload_balance_threshold": 0.81,
|
||||
"max_orders_per_rider": 0.63,
|
||||
"ideal_load": 0.43,
|
||||
"is_peak": 0.29,
|
||||
"distance_penalty_weight": 0.19,
|
||||
"search_time_limit_seconds": 0.06,
|
||||
"workload_penalty_weight": 0.05,
|
||||
"cluster_radius_km": 0.02,
|
||||
"road_factor": 0.02
|
||||
},
|
||||
"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": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260415_020035.json
Normal file
204
ml_data/reports/tuning_20260415_020035.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-15T02:00:35.622619",
|
||||
"training_rows": 425,
|
||||
"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.7298,
|
||||
"mae": 4.069,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-4.1 pts (R2=0.73, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 79.02,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 425
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 30.7,
|
||||
"quality_delta_10": 24.21,
|
||||
"num_orders": 13.83,
|
||||
"hour": 12.64,
|
||||
"day_of_week": 8.37,
|
||||
"num_riders": 3.92,
|
||||
"max_kitchen_distance_km": 2.11,
|
||||
"max_pickup_distance_km": 1.76,
|
||||
"workload_balance_threshold": 0.79,
|
||||
"max_orders_per_rider": 0.63,
|
||||
"ideal_load": 0.42,
|
||||
"is_peak": 0.28,
|
||||
"distance_penalty_weight": 0.18,
|
||||
"search_time_limit_seconds": 0.07,
|
||||
"workload_penalty_weight": 0.05,
|
||||
"cluster_radius_km": 0.02,
|
||||
"road_factor": 0.02
|
||||
},
|
||||
"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": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260415_060639.json
Normal file
204
ml_data/reports/tuning_20260415_060639.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-15T06:06:39.423177",
|
||||
"training_rows": 438,
|
||||
"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.7019,
|
||||
"mae": 4.228,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-4.2 pts (R2=0.70, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 79.08,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 438
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 30.61,
|
||||
"quality_delta_10": 24.24,
|
||||
"num_orders": 13.75,
|
||||
"hour": 12.61,
|
||||
"day_of_week": 8.44,
|
||||
"num_riders": 4.0,
|
||||
"max_kitchen_distance_km": 2.07,
|
||||
"max_pickup_distance_km": 1.83,
|
||||
"workload_balance_threshold": 0.78,
|
||||
"max_orders_per_rider": 0.63,
|
||||
"ideal_load": 0.41,
|
||||
"is_peak": 0.28,
|
||||
"distance_penalty_weight": 0.18,
|
||||
"search_time_limit_seconds": 0.07,
|
||||
"workload_penalty_weight": 0.05,
|
||||
"cluster_radius_km": 0.02,
|
||||
"road_factor": 0.02
|
||||
},
|
||||
"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": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260415_093147.json
Normal file
204
ml_data/reports/tuning_20260415_093147.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-15T09:31:47.472849",
|
||||
"training_rows": 443,
|
||||
"n_trials": 150,
|
||||
"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.6997,
|
||||
"mae": 4.334,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-4.3 pts (R2=0.70, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 79.03,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 443
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 30.59,
|
||||
"quality_delta_10": 24.23,
|
||||
"num_orders": 13.75,
|
||||
"hour": 12.6,
|
||||
"day_of_week": 8.48,
|
||||
"num_riders": 4.04,
|
||||
"max_kitchen_distance_km": 2.06,
|
||||
"max_pickup_distance_km": 1.84,
|
||||
"workload_balance_threshold": 0.76,
|
||||
"max_orders_per_rider": 0.64,
|
||||
"ideal_load": 0.4,
|
||||
"is_peak": 0.27,
|
||||
"distance_penalty_weight": 0.18,
|
||||
"search_time_limit_seconds": 0.06,
|
||||
"workload_penalty_weight": 0.05,
|
||||
"road_factor": 0.03,
|
||||
"cluster_radius_km": 0.02
|
||||
},
|
||||
"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": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260415_110442.json
Normal file
204
ml_data/reports/tuning_20260415_110442.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-15T11:04:42.732588",
|
||||
"training_rows": 448,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.709,
|
||||
"mae": 4.296,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-4.3 pts (R2=0.71, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 79.05,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 448
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 30.54,
|
||||
"quality_delta_10": 24.27,
|
||||
"num_orders": 13.71,
|
||||
"hour": 12.64,
|
||||
"day_of_week": 8.49,
|
||||
"num_riders": 4.08,
|
||||
"max_kitchen_distance_km": 2.04,
|
||||
"max_pickup_distance_km": 1.86,
|
||||
"workload_balance_threshold": 0.75,
|
||||
"max_orders_per_rider": 0.63,
|
||||
"ideal_load": 0.4,
|
||||
"is_peak": 0.27,
|
||||
"distance_penalty_weight": 0.17,
|
||||
"search_time_limit_seconds": 0.06,
|
||||
"workload_penalty_weight": 0.05,
|
||||
"road_factor": 0.03,
|
||||
"cluster_radius_km": 0.02
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260415_111415.json
Normal file
204
ml_data/reports/tuning_20260415_111415.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-15T11:14:15.770990",
|
||||
"training_rows": 458,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7164,
|
||||
"mae": 4.179,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-4.2 pts (R2=0.72, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 79.2,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 458
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 30.52,
|
||||
"quality_delta_10": 24.3,
|
||||
"num_orders": 13.71,
|
||||
"hour": 12.61,
|
||||
"day_of_week": 8.44,
|
||||
"num_riders": 4.08,
|
||||
"max_kitchen_distance_km": 2.02,
|
||||
"max_pickup_distance_km": 1.86,
|
||||
"workload_balance_threshold": 0.77,
|
||||
"max_orders_per_rider": 0.71,
|
||||
"ideal_load": 0.39,
|
||||
"is_peak": 0.27,
|
||||
"distance_penalty_weight": 0.17,
|
||||
"search_time_limit_seconds": 0.07,
|
||||
"workload_penalty_weight": 0.05,
|
||||
"road_factor": 0.03,
|
||||
"cluster_radius_km": 0.02
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260415_112338.json
Normal file
204
ml_data/reports/tuning_20260415_112338.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-15T11:23:38.601107",
|
||||
"training_rows": 468,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7406,
|
||||
"mae": 4.075,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-4.1 pts (R2=0.74, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 79.39,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 468
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 30.5,
|
||||
"quality_delta_10": 24.29,
|
||||
"num_orders": 13.74,
|
||||
"hour": 12.54,
|
||||
"day_of_week": 8.36,
|
||||
"num_riders": 4.16,
|
||||
"max_kitchen_distance_km": 1.99,
|
||||
"max_pickup_distance_km": 1.89,
|
||||
"workload_balance_threshold": 0.77,
|
||||
"max_orders_per_rider": 0.75,
|
||||
"ideal_load": 0.39,
|
||||
"is_peak": 0.27,
|
||||
"distance_penalty_weight": 0.17,
|
||||
"search_time_limit_seconds": 0.07,
|
||||
"workload_penalty_weight": 0.05,
|
||||
"road_factor": 0.03,
|
||||
"cluster_radius_km": 0.02
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260415_114305.json
Normal file
204
ml_data/reports/tuning_20260415_114305.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-15T11:43:05.910334",
|
||||
"training_rows": 478,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7167,
|
||||
"mae": 4.222,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-4.2 pts (R2=0.72, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 79.59,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 478
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 30.54,
|
||||
"quality_delta_10": 24.33,
|
||||
"num_orders": 13.75,
|
||||
"hour": 12.44,
|
||||
"day_of_week": 8.3,
|
||||
"num_riders": 4.2,
|
||||
"max_kitchen_distance_km": 1.96,
|
||||
"max_pickup_distance_km": 1.92,
|
||||
"max_orders_per_rider": 0.77,
|
||||
"workload_balance_threshold": 0.76,
|
||||
"ideal_load": 0.39,
|
||||
"is_peak": 0.27,
|
||||
"distance_penalty_weight": 0.17,
|
||||
"search_time_limit_seconds": 0.07,
|
||||
"road_factor": 0.06,
|
||||
"workload_penalty_weight": 0.05,
|
||||
"cluster_radius_km": 0.02
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260415_115219.json
Normal file
204
ml_data/reports/tuning_20260415_115219.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-15T11:52:19.594657",
|
||||
"training_rows": 488,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7495,
|
||||
"mae": 3.892,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-3.9 pts (R2=0.75, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 79.74,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 488
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 30.58,
|
||||
"quality_delta_10": 24.34,
|
||||
"num_orders": 13.73,
|
||||
"hour": 12.41,
|
||||
"day_of_week": 8.26,
|
||||
"num_riders": 4.22,
|
||||
"max_pickup_distance_km": 1.94,
|
||||
"max_kitchen_distance_km": 1.94,
|
||||
"max_orders_per_rider": 0.78,
|
||||
"workload_balance_threshold": 0.75,
|
||||
"ideal_load": 0.41,
|
||||
"is_peak": 0.26,
|
||||
"distance_penalty_weight": 0.17,
|
||||
"search_time_limit_seconds": 0.07,
|
||||
"workload_penalty_weight": 0.06,
|
||||
"road_factor": 0.06,
|
||||
"cluster_radius_km": 0.01
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260415_121849.json
Normal file
204
ml_data/reports/tuning_20260415_121849.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-15T12:18:49.269333",
|
||||
"training_rows": 492,
|
||||
"n_trials": 150,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7547,
|
||||
"mae": 3.859,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-3.9 pts (R2=0.75, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 79.81,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 492
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 30.63,
|
||||
"quality_delta_10": 24.33,
|
||||
"num_orders": 13.72,
|
||||
"hour": 12.37,
|
||||
"day_of_week": 8.2,
|
||||
"num_riders": 4.27,
|
||||
"max_pickup_distance_km": 1.98,
|
||||
"max_kitchen_distance_km": 1.92,
|
||||
"max_orders_per_rider": 0.79,
|
||||
"workload_balance_threshold": 0.74,
|
||||
"ideal_load": 0.41,
|
||||
"is_peak": 0.26,
|
||||
"distance_penalty_weight": 0.16,
|
||||
"search_time_limit_seconds": 0.07,
|
||||
"road_factor": 0.07,
|
||||
"workload_penalty_weight": 0.05,
|
||||
"cluster_radius_km": 0.02
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260416_020008.json
Normal file
204
ml_data/reports/tuning_20260416_020008.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-16T02:00:08.057763",
|
||||
"training_rows": 499,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7471,
|
||||
"mae": 3.851,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-3.9 pts (R2=0.75, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 79.94,
|
||||
"best_quality": 95.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 499
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 30.61,
|
||||
"quality_delta_10": 24.32,
|
||||
"num_orders": 13.71,
|
||||
"hour": 12.28,
|
||||
"day_of_week": 8.15,
|
||||
"num_riders": 4.33,
|
||||
"max_pickup_distance_km": 2.03,
|
||||
"max_kitchen_distance_km": 1.89,
|
||||
"max_orders_per_rider": 0.87,
|
||||
"workload_balance_threshold": 0.75,
|
||||
"ideal_load": 0.42,
|
||||
"is_peak": 0.26,
|
||||
"distance_penalty_weight": 0.16,
|
||||
"search_time_limit_seconds": 0.08,
|
||||
"road_factor": 0.07,
|
||||
"workload_penalty_weight": 0.06,
|
||||
"cluster_radius_km": 0.02
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260416_055639.json
Normal file
204
ml_data/reports/tuning_20260416_055639.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-16T05:56:39.237020",
|
||||
"training_rows": 511,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7481,
|
||||
"mae": 3.943,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-3.9 pts (R2=0.75, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 80.1,
|
||||
"best_quality": 95.5,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 511
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 30.66,
|
||||
"quality_delta_10": 24.35,
|
||||
"num_orders": 13.75,
|
||||
"hour": 12.28,
|
||||
"day_of_week": 8.03,
|
||||
"num_riders": 4.3,
|
||||
"max_pickup_distance_km": 2.03,
|
||||
"max_kitchen_distance_km": 1.87,
|
||||
"max_orders_per_rider": 0.93,
|
||||
"workload_balance_threshold": 0.76,
|
||||
"ideal_load": 0.42,
|
||||
"is_peak": 0.25,
|
||||
"distance_penalty_weight": 0.16,
|
||||
"search_time_limit_seconds": 0.08,
|
||||
"road_factor": 0.07,
|
||||
"workload_penalty_weight": 0.06,
|
||||
"cluster_radius_km": 0.02
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260416_060745.json
Normal file
204
ml_data/reports/tuning_20260416_060745.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-16T06:07:45.204689",
|
||||
"training_rows": 521,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7583,
|
||||
"mae": 3.815,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-3.8 pts (R2=0.76, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 80.16,
|
||||
"best_quality": 95.5,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 521
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 30.62,
|
||||
"quality_delta_10": 24.4,
|
||||
"num_orders": 13.78,
|
||||
"hour": 12.34,
|
||||
"day_of_week": 7.93,
|
||||
"num_riders": 4.27,
|
||||
"max_pickup_distance_km": 2.03,
|
||||
"max_kitchen_distance_km": 1.84,
|
||||
"max_orders_per_rider": 0.99,
|
||||
"workload_balance_threshold": 0.77,
|
||||
"ideal_load": 0.41,
|
||||
"is_peak": 0.25,
|
||||
"distance_penalty_weight": 0.16,
|
||||
"search_time_limit_seconds": 0.08,
|
||||
"workload_penalty_weight": 0.06,
|
||||
"road_factor": 0.06,
|
||||
"cluster_radius_km": 0.02
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260416_062540.json
Normal file
204
ml_data/reports/tuning_20260416_062540.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-16T06:25:40.660111",
|
||||
"training_rows": 531,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7668,
|
||||
"mae": 3.771,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-3.8 pts (R2=0.77, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 80.33,
|
||||
"best_quality": 95.5,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 531
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 30.62,
|
||||
"quality_delta_10": 24.38,
|
||||
"num_orders": 13.85,
|
||||
"hour": 12.33,
|
||||
"day_of_week": 7.84,
|
||||
"num_riders": 4.27,
|
||||
"max_pickup_distance_km": 2.05,
|
||||
"max_kitchen_distance_km": 1.81,
|
||||
"max_orders_per_rider": 1.05,
|
||||
"workload_balance_threshold": 0.78,
|
||||
"ideal_load": 0.4,
|
||||
"is_peak": 0.24,
|
||||
"distance_penalty_weight": 0.15,
|
||||
"search_time_limit_seconds": 0.08,
|
||||
"workload_penalty_weight": 0.06,
|
||||
"road_factor": 0.06,
|
||||
"cluster_radius_km": 0.02
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260416_100021.json
Normal file
204
ml_data/reports/tuning_20260416_100021.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-16T10:00:21.048875",
|
||||
"training_rows": 541,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.775,
|
||||
"mae": 3.654,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-3.7 pts (R2=0.77, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 80.44,
|
||||
"best_quality": 100.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 541
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 30.57,
|
||||
"quality_delta_10": 24.44,
|
||||
"num_orders": 13.79,
|
||||
"hour": 12.36,
|
||||
"day_of_week": 7.77,
|
||||
"num_riders": 4.27,
|
||||
"max_pickup_distance_km": 2.05,
|
||||
"max_kitchen_distance_km": 1.78,
|
||||
"max_orders_per_rider": 1.08,
|
||||
"workload_balance_threshold": 0.79,
|
||||
"ideal_load": 0.42,
|
||||
"is_peak": 0.3,
|
||||
"distance_penalty_weight": 0.15,
|
||||
"search_time_limit_seconds": 0.1,
|
||||
"workload_penalty_weight": 0.07,
|
||||
"road_factor": 0.06,
|
||||
"cluster_radius_km": 0.02
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260416_124747.json
Normal file
204
ml_data/reports/tuning_20260416_124747.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-16T12:47:47.139199",
|
||||
"training_rows": 552,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7317,
|
||||
"mae": 3.95,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-3.9 pts (R2=0.73, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 80.57,
|
||||
"best_quality": 100.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 552
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 30.53,
|
||||
"quality_delta_10": 24.41,
|
||||
"num_orders": 13.77,
|
||||
"hour": 12.45,
|
||||
"day_of_week": 7.72,
|
||||
"num_riders": 4.24,
|
||||
"max_pickup_distance_km": 2.04,
|
||||
"max_kitchen_distance_km": 1.74,
|
||||
"max_orders_per_rider": 1.13,
|
||||
"workload_balance_threshold": 0.79,
|
||||
"ideal_load": 0.42,
|
||||
"is_peak": 0.33,
|
||||
"distance_penalty_weight": 0.15,
|
||||
"search_time_limit_seconds": 0.11,
|
||||
"workload_penalty_weight": 0.07,
|
||||
"road_factor": 0.06,
|
||||
"cluster_radius_km": 0.02
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
203
ml_data/reports/tuning_20260416_124825.json
Normal file
203
ml_data/reports/tuning_20260416_124825.json
Normal file
@@ -0,0 +1,203 @@
|
||||
{
|
||||
"timestamp": "2026-04-16T12:48:25.998483",
|
||||
"training_rows": 553,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7385,
|
||||
"mae": 3.853,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-3.9 pts (R2=0.74, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 80.58,
|
||||
"best_quality": 100.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 553
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 31.0,
|
||||
"quality_delta_10": 24.78,
|
||||
"num_orders": 15.07,
|
||||
"hour": 11.5,
|
||||
"day_of_week": 5.79,
|
||||
"num_riders": 5.32,
|
||||
"max_pickup_distance_km": 2.22,
|
||||
"max_kitchen_distance_km": 1.6,
|
||||
"max_orders_per_rider": 0.8,
|
||||
"workload_balance_threshold": 0.67,
|
||||
"ideal_load": 0.35,
|
||||
"distance_penalty_weight": 0.29,
|
||||
"is_peak": 0.19,
|
||||
"workload_penalty_weight": 0.14,
|
||||
"cluster_radius_km": 0.14,
|
||||
"road_factor": 0.14
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260416_132603.json
Normal file
204
ml_data/reports/tuning_20260416_132603.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-16T13:26:03.184404",
|
||||
"training_rows": 560,
|
||||
"n_trials": 150,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7685,
|
||||
"mae": 3.721,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-3.7 pts (R2=0.77, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 80.67,
|
||||
"best_quality": 100.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 560
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 30.5,
|
||||
"quality_delta_10": 24.38,
|
||||
"num_orders": 13.76,
|
||||
"hour": 12.5,
|
||||
"day_of_week": 7.7,
|
||||
"num_riders": 4.24,
|
||||
"max_pickup_distance_km": 2.08,
|
||||
"max_kitchen_distance_km": 1.72,
|
||||
"max_orders_per_rider": 1.14,
|
||||
"workload_balance_threshold": 0.78,
|
||||
"ideal_load": 0.43,
|
||||
"is_peak": 0.34,
|
||||
"distance_penalty_weight": 0.15,
|
||||
"search_time_limit_seconds": 0.11,
|
||||
"workload_penalty_weight": 0.07,
|
||||
"road_factor": 0.07,
|
||||
"cluster_radius_km": 0.02
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260417_014552.json
Normal file
204
ml_data/reports/tuning_20260417_014552.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-17T01:45:52.789546",
|
||||
"training_rows": 563,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7547,
|
||||
"mae": 3.715,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-3.7 pts (R2=0.75, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 80.71,
|
||||
"best_quality": 100.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 563
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 30.49,
|
||||
"quality_delta_10": 24.34,
|
||||
"num_orders": 13.75,
|
||||
"hour": 12.47,
|
||||
"day_of_week": 7.73,
|
||||
"num_riders": 4.26,
|
||||
"max_pickup_distance_km": 2.11,
|
||||
"max_kitchen_distance_km": 1.71,
|
||||
"max_orders_per_rider": 1.15,
|
||||
"workload_balance_threshold": 0.78,
|
||||
"ideal_load": 0.45,
|
||||
"is_peak": 0.35,
|
||||
"distance_penalty_weight": 0.15,
|
||||
"search_time_limit_seconds": 0.11,
|
||||
"workload_penalty_weight": 0.07,
|
||||
"road_factor": 0.07,
|
||||
"cluster_radius_km": 0.02
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260417_055530.json
Normal file
204
ml_data/reports/tuning_20260417_055530.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-17T05:55:30.525741",
|
||||
"training_rows": 575,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7517,
|
||||
"mae": 3.613,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-3.6 pts (R2=0.75, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 80.87,
|
||||
"best_quality": 100.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 575
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 30.44,
|
||||
"quality_delta_10": 24.34,
|
||||
"num_orders": 13.78,
|
||||
"hour": 12.44,
|
||||
"day_of_week": 7.69,
|
||||
"num_riders": 4.31,
|
||||
"max_pickup_distance_km": 2.16,
|
||||
"max_kitchen_distance_km": 1.69,
|
||||
"max_orders_per_rider": 1.15,
|
||||
"workload_balance_threshold": 0.78,
|
||||
"ideal_load": 0.46,
|
||||
"is_peak": 0.34,
|
||||
"distance_penalty_weight": 0.15,
|
||||
"search_time_limit_seconds": 0.11,
|
||||
"workload_penalty_weight": 0.07,
|
||||
"road_factor": 0.07,
|
||||
"cluster_radius_km": 0.02
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260417_060942.json
Normal file
204
ml_data/reports/tuning_20260417_060942.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-17T06:09:42.266970",
|
||||
"training_rows": 585,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7399,
|
||||
"mae": 3.61,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-3.6 pts (R2=0.74, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 80.92,
|
||||
"best_quality": 100.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 585
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 30.4,
|
||||
"quality_delta_10": 24.29,
|
||||
"num_orders": 13.79,
|
||||
"hour": 12.44,
|
||||
"day_of_week": 7.71,
|
||||
"num_riders": 4.33,
|
||||
"max_pickup_distance_km": 2.19,
|
||||
"max_kitchen_distance_km": 1.67,
|
||||
"max_orders_per_rider": 1.17,
|
||||
"workload_balance_threshold": 0.79,
|
||||
"ideal_load": 0.47,
|
||||
"is_peak": 0.34,
|
||||
"distance_penalty_weight": 0.15,
|
||||
"search_time_limit_seconds": 0.11,
|
||||
"workload_penalty_weight": 0.07,
|
||||
"road_factor": 0.07,
|
||||
"cluster_radius_km": 0.02
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260417_100605.json
Normal file
204
ml_data/reports/tuning_20260417_100605.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-17T10:06:05.877246",
|
||||
"training_rows": 595,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7084,
|
||||
"mae": 3.679,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-3.7 pts (R2=0.71, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 81.04,
|
||||
"best_quality": 100.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 595
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 30.4,
|
||||
"quality_delta_10": 24.29,
|
||||
"num_orders": 13.77,
|
||||
"hour": 12.44,
|
||||
"day_of_week": 7.68,
|
||||
"num_riders": 4.34,
|
||||
"max_pickup_distance_km": 2.21,
|
||||
"max_kitchen_distance_km": 1.66,
|
||||
"max_orders_per_rider": 1.18,
|
||||
"workload_balance_threshold": 0.79,
|
||||
"ideal_load": 0.46,
|
||||
"is_peak": 0.34,
|
||||
"distance_penalty_weight": 0.14,
|
||||
"search_time_limit_seconds": 0.11,
|
||||
"workload_penalty_weight": 0.07,
|
||||
"road_factor": 0.07,
|
||||
"cluster_radius_km": 0.02
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260417_115814.json
Normal file
204
ml_data/reports/tuning_20260417_115814.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-17T11:58:14.732043",
|
||||
"training_rows": 605,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7464,
|
||||
"mae": 3.668,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-3.7 pts (R2=0.75, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 81.22,
|
||||
"best_quality": 100.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 605
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 30.4,
|
||||
"quality_delta_10": 24.26,
|
||||
"num_orders": 13.77,
|
||||
"hour": 12.42,
|
||||
"day_of_week": 7.67,
|
||||
"num_riders": 4.39,
|
||||
"max_pickup_distance_km": 2.24,
|
||||
"max_kitchen_distance_km": 1.65,
|
||||
"max_orders_per_rider": 1.19,
|
||||
"workload_balance_threshold": 0.79,
|
||||
"ideal_load": 0.46,
|
||||
"is_peak": 0.34,
|
||||
"distance_penalty_weight": 0.15,
|
||||
"search_time_limit_seconds": 0.12,
|
||||
"workload_penalty_weight": 0.07,
|
||||
"road_factor": 0.07,
|
||||
"cluster_radius_km": 0.02
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260417_124616.json
Normal file
204
ml_data/reports/tuning_20260417_124616.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-17T12:46:16.237305",
|
||||
"training_rows": 617,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7521,
|
||||
"mae": 3.655,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-3.7 pts (R2=0.75, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 81.37,
|
||||
"best_quality": 100.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 617
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 30.36,
|
||||
"quality_delta_10": 24.27,
|
||||
"num_orders": 13.76,
|
||||
"hour": 12.4,
|
||||
"day_of_week": 7.66,
|
||||
"num_riders": 4.44,
|
||||
"max_pickup_distance_km": 2.25,
|
||||
"max_kitchen_distance_km": 1.64,
|
||||
"max_orders_per_rider": 1.18,
|
||||
"workload_balance_threshold": 0.78,
|
||||
"ideal_load": 0.48,
|
||||
"is_peak": 0.34,
|
||||
"distance_penalty_weight": 0.14,
|
||||
"search_time_limit_seconds": 0.13,
|
||||
"workload_penalty_weight": 0.07,
|
||||
"road_factor": 0.07,
|
||||
"cluster_radius_km": 0.02
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260418_015019.json
Normal file
204
ml_data/reports/tuning_20260418_015019.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-18T01:50:19.938250",
|
||||
"training_rows": 628,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7408,
|
||||
"mae": 3.546,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-3.5 pts (R2=0.74, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 81.5,
|
||||
"best_quality": 100.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 628
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 30.35,
|
||||
"quality_delta_10": 24.23,
|
||||
"num_orders": 13.77,
|
||||
"hour": 12.44,
|
||||
"day_of_week": 7.67,
|
||||
"num_riders": 4.42,
|
||||
"max_pickup_distance_km": 2.29,
|
||||
"max_kitchen_distance_km": 1.62,
|
||||
"max_orders_per_rider": 1.18,
|
||||
"workload_balance_threshold": 0.78,
|
||||
"ideal_load": 0.48,
|
||||
"is_peak": 0.35,
|
||||
"distance_penalty_weight": 0.14,
|
||||
"search_time_limit_seconds": 0.13,
|
||||
"workload_penalty_weight": 0.07,
|
||||
"road_factor": 0.07,
|
||||
"cluster_radius_km": 0.02
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260418_060650.json
Normal file
204
ml_data/reports/tuning_20260418_060650.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-18T06:06:50.884919",
|
||||
"training_rows": 640,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7563,
|
||||
"mae": 3.52,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-3.5 pts (R2=0.76, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 81.63,
|
||||
"best_quality": 100.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 640
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 30.39,
|
||||
"quality_delta_10": 24.15,
|
||||
"num_orders": 13.76,
|
||||
"hour": 12.44,
|
||||
"day_of_week": 7.7,
|
||||
"num_riders": 4.42,
|
||||
"max_pickup_distance_km": 2.32,
|
||||
"max_kitchen_distance_km": 1.61,
|
||||
"max_orders_per_rider": 1.18,
|
||||
"workload_balance_threshold": 0.77,
|
||||
"ideal_load": 0.48,
|
||||
"is_peak": 0.35,
|
||||
"distance_penalty_weight": 0.14,
|
||||
"search_time_limit_seconds": 0.13,
|
||||
"road_factor": 0.08,
|
||||
"workload_penalty_weight": 0.07,
|
||||
"cluster_radius_km": 0.02
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260418_062541.json
Normal file
204
ml_data/reports/tuning_20260418_062541.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-18T06:25:41.982890",
|
||||
"training_rows": 650,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7707,
|
||||
"mae": 3.542,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-3.5 pts (R2=0.77, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 81.68,
|
||||
"best_quality": 100.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 650
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 30.39,
|
||||
"quality_delta_10": 24.11,
|
||||
"num_orders": 13.79,
|
||||
"hour": 12.39,
|
||||
"day_of_week": 7.72,
|
||||
"num_riders": 4.39,
|
||||
"max_pickup_distance_km": 2.36,
|
||||
"max_kitchen_distance_km": 1.61,
|
||||
"max_orders_per_rider": 1.19,
|
||||
"workload_balance_threshold": 0.78,
|
||||
"ideal_load": 0.47,
|
||||
"is_peak": 0.35,
|
||||
"distance_penalty_weight": 0.14,
|
||||
"search_time_limit_seconds": 0.13,
|
||||
"workload_penalty_weight": 0.08,
|
||||
"road_factor": 0.08,
|
||||
"cluster_radius_km": 0.02
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260418_065516.json
Normal file
204
ml_data/reports/tuning_20260418_065516.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-18T06:55:16.965238",
|
||||
"training_rows": 654,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7448,
|
||||
"mae": 3.664,
|
||||
"folds": 5,
|
||||
"trust_level": "good",
|
||||
"trust_score": 3,
|
||||
"interpretation": "Predictions off by +/-3.7 pts (R2=0.74, trust=good)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 81.71,
|
||||
"best_quality": 100.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 654
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 26.78,
|
||||
"quality_delta_10": 24.85,
|
||||
"num_orders": 15.13,
|
||||
"hour": 11.71,
|
||||
"day_of_week": 8.08,
|
||||
"num_riders": 4.08,
|
||||
"max_pickup_distance_km": 4.08,
|
||||
"max_orders_per_rider": 1.33,
|
||||
"max_kitchen_distance_km": 1.21,
|
||||
"workload_balance_threshold": 0.78,
|
||||
"ideal_load": 0.75,
|
||||
"is_peak": 0.67,
|
||||
"workload_penalty_weight": 0.18,
|
||||
"road_factor": 0.18,
|
||||
"distance_penalty_weight": 0.06,
|
||||
"cluster_radius_km": 0.06,
|
||||
"search_time_limit_seconds": 0.04
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260418_115156.json
Normal file
204
ml_data/reports/tuning_20260418_115156.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-18T11:51:56.865655",
|
||||
"training_rows": 664,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7689,
|
||||
"mae": 3.511,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-3.5 pts (R2=0.77, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 81.8,
|
||||
"best_quality": 100.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 664
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 27.15,
|
||||
"quality_delta_10": 25.47,
|
||||
"num_orders": 14.78,
|
||||
"hour": 11.61,
|
||||
"day_of_week": 7.98,
|
||||
"num_riders": 4.15,
|
||||
"max_pickup_distance_km": 3.71,
|
||||
"max_orders_per_rider": 1.23,
|
||||
"max_kitchen_distance_km": 1.22,
|
||||
"workload_balance_threshold": 0.77,
|
||||
"ideal_load": 0.67,
|
||||
"is_peak": 0.64,
|
||||
"workload_penalty_weight": 0.22,
|
||||
"road_factor": 0.21,
|
||||
"distance_penalty_weight": 0.09,
|
||||
"cluster_radius_km": 0.06,
|
||||
"search_time_limit_seconds": 0.04
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260420_043638.json
Normal file
204
ml_data/reports/tuning_20260420_043638.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-20T04:36:38.137699",
|
||||
"training_rows": 671,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7776,
|
||||
"mae": 3.506,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-3.5 pts (R2=0.78, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 81.86,
|
||||
"best_quality": 100.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 671
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 26.55,
|
||||
"quality_delta_10": 24.84,
|
||||
"num_orders": 15.39,
|
||||
"hour": 11.88,
|
||||
"day_of_week": 7.49,
|
||||
"num_riders": 4.59,
|
||||
"max_pickup_distance_km": 3.92,
|
||||
"max_orders_per_rider": 1.45,
|
||||
"max_kitchen_distance_km": 1.2,
|
||||
"is_peak": 0.78,
|
||||
"workload_balance_threshold": 0.73,
|
||||
"ideal_load": 0.7,
|
||||
"road_factor": 0.15,
|
||||
"workload_penalty_weight": 0.13,
|
||||
"cluster_radius_km": 0.12,
|
||||
"search_time_limit_seconds": 0.06,
|
||||
"distance_penalty_weight": 0.04
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260420_054150.json
Normal file
204
ml_data/reports/tuning_20260420_054150.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-20T05:41:50.920567",
|
||||
"training_rows": 681,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.783,
|
||||
"mae": 3.367,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-3.4 pts (R2=0.78, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 81.98,
|
||||
"best_quality": 100.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 681
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 26.77,
|
||||
"quality_delta_10": 25.04,
|
||||
"num_orders": 14.7,
|
||||
"hour": 12.01,
|
||||
"day_of_week": 7.71,
|
||||
"num_riders": 4.65,
|
||||
"max_pickup_distance_km": 3.8,
|
||||
"max_orders_per_rider": 1.36,
|
||||
"max_kitchen_distance_km": 1.22,
|
||||
"workload_balance_threshold": 0.8,
|
||||
"is_peak": 0.75,
|
||||
"ideal_load": 0.62,
|
||||
"workload_penalty_weight": 0.17,
|
||||
"road_factor": 0.17,
|
||||
"cluster_radius_km": 0.1,
|
||||
"search_time_limit_seconds": 0.06,
|
||||
"distance_penalty_weight": 0.05
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260420_062855.json
Normal file
204
ml_data/reports/tuning_20260420_062855.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-20T06:28:55.565856",
|
||||
"training_rows": 692,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7636,
|
||||
"mae": 3.524,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-3.5 pts (R2=0.76, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 82.05,
|
||||
"best_quality": 100.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 692
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 26.81,
|
||||
"quality_delta_10": 25.38,
|
||||
"num_orders": 14.44,
|
||||
"hour": 12.12,
|
||||
"day_of_week": 7.83,
|
||||
"num_riders": 4.59,
|
||||
"max_pickup_distance_km": 3.65,
|
||||
"max_orders_per_rider": 1.32,
|
||||
"max_kitchen_distance_km": 1.18,
|
||||
"workload_balance_threshold": 0.78,
|
||||
"is_peak": 0.71,
|
||||
"ideal_load": 0.58,
|
||||
"road_factor": 0.2,
|
||||
"workload_penalty_weight": 0.19,
|
||||
"cluster_radius_km": 0.1,
|
||||
"search_time_limit_seconds": 0.09,
|
||||
"distance_penalty_weight": 0.05
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260420_064448.json
Normal file
204
ml_data/reports/tuning_20260420_064448.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-20T06:44:48.273529",
|
||||
"training_rows": 702,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7709,
|
||||
"mae": 3.388,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-3.4 pts (R2=0.77, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 82.13,
|
||||
"best_quality": 100.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 702
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 27.17,
|
||||
"quality_delta_10": 25.5,
|
||||
"num_orders": 14.16,
|
||||
"hour": 12.11,
|
||||
"day_of_week": 7.9,
|
||||
"num_riders": 4.53,
|
||||
"max_pickup_distance_km": 3.44,
|
||||
"max_orders_per_rider": 1.33,
|
||||
"max_kitchen_distance_km": 1.22,
|
||||
"workload_balance_threshold": 0.76,
|
||||
"is_peak": 0.69,
|
||||
"ideal_load": 0.58,
|
||||
"road_factor": 0.19,
|
||||
"workload_penalty_weight": 0.18,
|
||||
"cluster_radius_km": 0.11,
|
||||
"search_time_limit_seconds": 0.08,
|
||||
"distance_penalty_weight": 0.05
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260420_101819.json
Normal file
204
ml_data/reports/tuning_20260420_101819.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-20T10:18:19.642255",
|
||||
"training_rows": 712,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7963,
|
||||
"mae": 3.189,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-3.2 pts (R2=0.80, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 82.18,
|
||||
"best_quality": 100.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 712
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 27.48,
|
||||
"quality_delta_10": 25.72,
|
||||
"num_orders": 13.94,
|
||||
"hour": 12.04,
|
||||
"day_of_week": 7.99,
|
||||
"num_riders": 4.38,
|
||||
"max_pickup_distance_km": 3.33,
|
||||
"max_orders_per_rider": 1.32,
|
||||
"max_kitchen_distance_km": 1.16,
|
||||
"workload_balance_threshold": 0.81,
|
||||
"is_peak": 0.64,
|
||||
"ideal_load": 0.58,
|
||||
"road_factor": 0.2,
|
||||
"workload_penalty_weight": 0.18,
|
||||
"cluster_radius_km": 0.11,
|
||||
"search_time_limit_seconds": 0.1,
|
||||
"distance_penalty_weight": 0.04
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260420_111636.json
Normal file
204
ml_data/reports/tuning_20260420_111636.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-20T11:16:36.458715",
|
||||
"training_rows": 723,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.8098,
|
||||
"mae": 3.276,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-3.3 pts (R2=0.81, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 82.29,
|
||||
"best_quality": 100.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 723
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 27.59,
|
||||
"quality_delta_10": 25.9,
|
||||
"num_orders": 13.93,
|
||||
"hour": 12.1,
|
||||
"day_of_week": 7.94,
|
||||
"num_riders": 4.24,
|
||||
"max_pickup_distance_km": 3.26,
|
||||
"max_orders_per_rider": 1.3,
|
||||
"max_kitchen_distance_km": 1.14,
|
||||
"workload_balance_threshold": 0.78,
|
||||
"is_peak": 0.62,
|
||||
"ideal_load": 0.56,
|
||||
"road_factor": 0.21,
|
||||
"workload_penalty_weight": 0.18,
|
||||
"cluster_radius_km": 0.1,
|
||||
"search_time_limit_seconds": 0.1,
|
||||
"distance_penalty_weight": 0.06
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260420_113128.json
Normal file
204
ml_data/reports/tuning_20260420_113128.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-20T11:31:28.482565",
|
||||
"training_rows": 734,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.8098,
|
||||
"mae": 3.245,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-3.2 pts (R2=0.81, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 82.37,
|
||||
"best_quality": 100.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 734
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 27.97,
|
||||
"quality_delta_10": 26.05,
|
||||
"num_orders": 13.76,
|
||||
"hour": 12.02,
|
||||
"day_of_week": 7.89,
|
||||
"num_riders": 4.2,
|
||||
"max_pickup_distance_km": 3.13,
|
||||
"max_orders_per_rider": 1.26,
|
||||
"max_kitchen_distance_km": 1.2,
|
||||
"workload_balance_threshold": 0.75,
|
||||
"is_peak": 0.59,
|
||||
"ideal_load": 0.55,
|
||||
"road_factor": 0.21,
|
||||
"workload_penalty_weight": 0.18,
|
||||
"cluster_radius_km": 0.09,
|
||||
"search_time_limit_seconds": 0.09,
|
||||
"distance_penalty_weight": 0.06
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260421_021448.json
Normal file
204
ml_data/reports/tuning_20260421_021448.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-21T02:14:48.190443",
|
||||
"training_rows": 744,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.8054,
|
||||
"mae": 3.266,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-3.3 pts (R2=0.81, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 82.46,
|
||||
"best_quality": 100.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 744
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 27.98,
|
||||
"quality_delta_10": 26.1,
|
||||
"num_orders": 13.64,
|
||||
"hour": 12.11,
|
||||
"day_of_week": 7.95,
|
||||
"num_riders": 4.17,
|
||||
"max_pickup_distance_km": 3.07,
|
||||
"max_orders_per_rider": 1.28,
|
||||
"max_kitchen_distance_km": 1.16,
|
||||
"workload_balance_threshold": 0.72,
|
||||
"is_peak": 0.61,
|
||||
"ideal_load": 0.54,
|
||||
"workload_penalty_weight": 0.22,
|
||||
"road_factor": 0.22,
|
||||
"search_time_limit_seconds": 0.09,
|
||||
"cluster_radius_km": 0.08,
|
||||
"distance_penalty_weight": 0.06
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260421_061042.json
Normal file
204
ml_data/reports/tuning_20260421_061042.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-21T06:10:42.176782",
|
||||
"training_rows": 754,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7894,
|
||||
"mae": 3.328,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-3.3 pts (R2=0.79, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 82.57,
|
||||
"best_quality": 100.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 754
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 27.96,
|
||||
"quality_delta_10": 26.24,
|
||||
"num_orders": 13.47,
|
||||
"hour": 12.14,
|
||||
"day_of_week": 8.08,
|
||||
"num_riders": 4.22,
|
||||
"max_pickup_distance_km": 3.0,
|
||||
"max_orders_per_rider": 1.23,
|
||||
"max_kitchen_distance_km": 1.14,
|
||||
"workload_balance_threshold": 0.72,
|
||||
"is_peak": 0.6,
|
||||
"ideal_load": 0.54,
|
||||
"workload_penalty_weight": 0.21,
|
||||
"road_factor": 0.21,
|
||||
"search_time_limit_seconds": 0.1,
|
||||
"distance_penalty_weight": 0.08,
|
||||
"cluster_radius_km": 0.08
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260421_062533.json
Normal file
204
ml_data/reports/tuning_20260421_062533.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-21T06:25:33.500305",
|
||||
"training_rows": 765,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7838,
|
||||
"mae": 3.278,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-3.3 pts (R2=0.78, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 82.59,
|
||||
"best_quality": 100.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 765
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 28.01,
|
||||
"quality_delta_10": 26.29,
|
||||
"num_orders": 13.44,
|
||||
"hour": 12.14,
|
||||
"day_of_week": 8.09,
|
||||
"num_riders": 4.3,
|
||||
"max_pickup_distance_km": 2.95,
|
||||
"max_orders_per_rider": 1.2,
|
||||
"max_kitchen_distance_km": 1.12,
|
||||
"workload_balance_threshold": 0.71,
|
||||
"is_peak": 0.57,
|
||||
"ideal_load": 0.52,
|
||||
"workload_penalty_weight": 0.21,
|
||||
"road_factor": 0.2,
|
||||
"search_time_limit_seconds": 0.09,
|
||||
"distance_penalty_weight": 0.08,
|
||||
"cluster_radius_km": 0.07
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260421_102012.json
Normal file
204
ml_data/reports/tuning_20260421_102012.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-21T10:20:12.993710",
|
||||
"training_rows": 775,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7896,
|
||||
"mae": 3.254,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-3.3 pts (R2=0.79, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 82.66,
|
||||
"best_quality": 100.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 775
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 28.13,
|
||||
"quality_delta_10": 26.3,
|
||||
"num_orders": 13.4,
|
||||
"hour": 12.17,
|
||||
"day_of_week": 8.12,
|
||||
"num_riders": 4.32,
|
||||
"max_pickup_distance_km": 2.85,
|
||||
"max_orders_per_rider": 1.21,
|
||||
"max_kitchen_distance_km": 1.07,
|
||||
"workload_balance_threshold": 0.72,
|
||||
"is_peak": 0.57,
|
||||
"ideal_load": 0.51,
|
||||
"workload_penalty_weight": 0.21,
|
||||
"road_factor": 0.19,
|
||||
"search_time_limit_seconds": 0.1,
|
||||
"distance_penalty_weight": 0.07,
|
||||
"cluster_radius_km": 0.07
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260421_115334.json
Normal file
204
ml_data/reports/tuning_20260421_115334.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-21T11:53:34.288610",
|
||||
"training_rows": 786,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7736,
|
||||
"mae": 3.308,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-3.3 pts (R2=0.77, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 82.76,
|
||||
"best_quality": 100.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 786
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 28.18,
|
||||
"quality_delta_10": 26.33,
|
||||
"num_orders": 13.3,
|
||||
"hour": 12.3,
|
||||
"day_of_week": 8.19,
|
||||
"num_riders": 4.32,
|
||||
"max_pickup_distance_km": 2.78,
|
||||
"max_orders_per_rider": 1.18,
|
||||
"max_kitchen_distance_km": 1.04,
|
||||
"workload_balance_threshold": 0.71,
|
||||
"is_peak": 0.56,
|
||||
"ideal_load": 0.5,
|
||||
"workload_penalty_weight": 0.21,
|
||||
"road_factor": 0.18,
|
||||
"search_time_limit_seconds": 0.09,
|
||||
"distance_penalty_weight": 0.07,
|
||||
"cluster_radius_km": 0.06
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260421_120149.json
Normal file
204
ml_data/reports/tuning_20260421_120149.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-21T12:01:49.062177",
|
||||
"training_rows": 797,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7598,
|
||||
"mae": 3.399,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-3.4 pts (R2=0.76, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 82.85,
|
||||
"best_quality": 100.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 797
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 28.21,
|
||||
"quality_delta_10": 26.33,
|
||||
"num_orders": 13.29,
|
||||
"hour": 12.36,
|
||||
"day_of_week": 8.23,
|
||||
"num_riders": 4.34,
|
||||
"max_pickup_distance_km": 2.71,
|
||||
"max_orders_per_rider": 1.17,
|
||||
"max_kitchen_distance_km": 1.01,
|
||||
"workload_balance_threshold": 0.69,
|
||||
"is_peak": 0.55,
|
||||
"ideal_load": 0.52,
|
||||
"workload_penalty_weight": 0.21,
|
||||
"road_factor": 0.18,
|
||||
"search_time_limit_seconds": 0.09,
|
||||
"distance_penalty_weight": 0.07,
|
||||
"cluster_radius_km": 0.06
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260422_062048.json
Normal file
204
ml_data/reports/tuning_20260422_062048.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-22T06:20:48.225729",
|
||||
"training_rows": 810,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7703,
|
||||
"mae": 3.314,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-3.3 pts (R2=0.77, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 82.93,
|
||||
"best_quality": 100.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 810
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 28.37,
|
||||
"quality_delta_10": 26.27,
|
||||
"num_orders": 13.28,
|
||||
"hour": 12.31,
|
||||
"day_of_week": 8.32,
|
||||
"num_riders": 4.37,
|
||||
"max_pickup_distance_km": 2.65,
|
||||
"max_orders_per_rider": 1.13,
|
||||
"max_kitchen_distance_km": 0.97,
|
||||
"workload_balance_threshold": 0.67,
|
||||
"is_peak": 0.56,
|
||||
"ideal_load": 0.52,
|
||||
"workload_penalty_weight": 0.19,
|
||||
"road_factor": 0.18,
|
||||
"search_time_limit_seconds": 0.09,
|
||||
"distance_penalty_weight": 0.07,
|
||||
"cluster_radius_km": 0.06
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260422_122338.json
Normal file
204
ml_data/reports/tuning_20260422_122338.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-22T12:23:38.983023",
|
||||
"training_rows": 820,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7602,
|
||||
"mae": 3.376,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-3.4 pts (R2=0.76, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 82.95,
|
||||
"best_quality": 100.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 820
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 28.37,
|
||||
"quality_delta_10": 26.23,
|
||||
"num_orders": 13.24,
|
||||
"hour": 12.32,
|
||||
"day_of_week": 8.37,
|
||||
"num_riders": 4.46,
|
||||
"max_pickup_distance_km": 2.62,
|
||||
"max_orders_per_rider": 1.14,
|
||||
"max_kitchen_distance_km": 0.96,
|
||||
"workload_balance_threshold": 0.67,
|
||||
"is_peak": 0.53,
|
||||
"ideal_load": 0.51,
|
||||
"workload_penalty_weight": 0.2,
|
||||
"road_factor": 0.17,
|
||||
"search_time_limit_seconds": 0.09,
|
||||
"distance_penalty_weight": 0.06,
|
||||
"cluster_radius_km": 0.05
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260422_122932.json
Normal file
204
ml_data/reports/tuning_20260422_122932.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-22T12:29:32.927429",
|
||||
"training_rows": 830,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7822,
|
||||
"mae": 3.244,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-3.2 pts (R2=0.78, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 83.11,
|
||||
"best_quality": 100.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 830
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 28.49,
|
||||
"quality_delta_10": 26.24,
|
||||
"num_orders": 13.12,
|
||||
"hour": 12.5,
|
||||
"day_of_week": 8.3,
|
||||
"num_riders": 4.4,
|
||||
"max_pickup_distance_km": 2.56,
|
||||
"max_orders_per_rider": 1.12,
|
||||
"max_kitchen_distance_km": 0.97,
|
||||
"workload_balance_threshold": 0.66,
|
||||
"is_peak": 0.56,
|
||||
"ideal_load": 0.52,
|
||||
"workload_penalty_weight": 0.19,
|
||||
"road_factor": 0.17,
|
||||
"search_time_limit_seconds": 0.09,
|
||||
"distance_penalty_weight": 0.06,
|
||||
"cluster_radius_km": 0.05
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260422_123656.json
Normal file
204
ml_data/reports/tuning_20260422_123656.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-22T12:36:56.203328",
|
||||
"training_rows": 840,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7812,
|
||||
"mae": 3.223,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-3.2 pts (R2=0.78, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 83.19,
|
||||
"best_quality": 100.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 840
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 28.68,
|
||||
"quality_delta_10": 26.31,
|
||||
"num_orders": 13.09,
|
||||
"hour": 12.45,
|
||||
"day_of_week": 8.25,
|
||||
"num_riders": 4.39,
|
||||
"max_pickup_distance_km": 2.51,
|
||||
"max_orders_per_rider": 1.1,
|
||||
"max_kitchen_distance_km": 0.96,
|
||||
"workload_balance_threshold": 0.64,
|
||||
"is_peak": 0.6,
|
||||
"ideal_load": 0.49,
|
||||
"workload_penalty_weight": 0.19,
|
||||
"road_factor": 0.16,
|
||||
"search_time_limit_seconds": 0.08,
|
||||
"distance_penalty_weight": 0.06,
|
||||
"cluster_radius_km": 0.05
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260422_123711.json
Normal file
204
ml_data/reports/tuning_20260422_123711.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-22T12:37:11.096400",
|
||||
"training_rows": 841,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.793,
|
||||
"mae": 3.186,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-3.2 pts (R2=0.79, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 83.19,
|
||||
"best_quality": 100.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 841
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 26.85,
|
||||
"quality_delta_10": 24.92,
|
||||
"num_orders": 15.03,
|
||||
"hour": 11.64,
|
||||
"day_of_week": 8.3,
|
||||
"num_riders": 4.02,
|
||||
"max_pickup_distance_km": 3.88,
|
||||
"max_orders_per_rider": 1.46,
|
||||
"max_kitchen_distance_km": 1.14,
|
||||
"is_peak": 0.78,
|
||||
"workload_balance_threshold": 0.78,
|
||||
"ideal_load": 0.67,
|
||||
"road_factor": 0.22,
|
||||
"workload_penalty_weight": 0.16,
|
||||
"distance_penalty_weight": 0.05,
|
||||
"cluster_radius_km": 0.05,
|
||||
"search_time_limit_seconds": 0.04
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260424_015839.json
Normal file
204
ml_data/reports/tuning_20260424_015839.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-24T01:58:39.232473",
|
||||
"training_rows": 854,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7735,
|
||||
"mae": 3.236,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-3.2 pts (R2=0.77, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 83.28,
|
||||
"best_quality": 100.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 854
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 28.85,
|
||||
"quality_delta_10": 26.22,
|
||||
"num_orders": 12.98,
|
||||
"hour": 12.47,
|
||||
"day_of_week": 8.27,
|
||||
"num_riders": 4.43,
|
||||
"max_pickup_distance_km": 2.49,
|
||||
"max_orders_per_rider": 1.08,
|
||||
"max_kitchen_distance_km": 0.95,
|
||||
"workload_balance_threshold": 0.63,
|
||||
"is_peak": 0.59,
|
||||
"ideal_load": 0.5,
|
||||
"workload_penalty_weight": 0.19,
|
||||
"road_factor": 0.16,
|
||||
"search_time_limit_seconds": 0.08,
|
||||
"distance_penalty_weight": 0.06,
|
||||
"cluster_radius_km": 0.05
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260424_061245.json
Normal file
204
ml_data/reports/tuning_20260424_061245.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-24T06:12:45.089351",
|
||||
"training_rows": 867,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7725,
|
||||
"mae": 3.292,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-3.3 pts (R2=0.77, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 83.32,
|
||||
"best_quality": 100.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 867
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 28.96,
|
||||
"quality_delta_10": 26.21,
|
||||
"num_orders": 13.0,
|
||||
"hour": 12.36,
|
||||
"day_of_week": 8.27,
|
||||
"num_riders": 4.53,
|
||||
"max_pickup_distance_km": 2.45,
|
||||
"max_orders_per_rider": 1.07,
|
||||
"max_kitchen_distance_km": 0.93,
|
||||
"workload_balance_threshold": 0.63,
|
||||
"is_peak": 0.57,
|
||||
"ideal_load": 0.5,
|
||||
"workload_penalty_weight": 0.18,
|
||||
"road_factor": 0.16,
|
||||
"search_time_limit_seconds": 0.08,
|
||||
"distance_penalty_weight": 0.06,
|
||||
"cluster_radius_km": 0.05
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
204
ml_data/reports/tuning_20260424_120007.json
Normal file
204
ml_data/reports/tuning_20260424_120007.json
Normal file
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"timestamp": "2026-04-24T12:00:07.729707",
|
||||
"training_rows": 880,
|
||||
"n_trials": 100,
|
||||
"best_predicted_quality": 95.67,
|
||||
"best_params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"validation": {
|
||||
"r2_score": 0.7682,
|
||||
"mae": 3.239,
|
||||
"folds": 5,
|
||||
"trust_level": "strong",
|
||||
"trust_score": 4,
|
||||
"interpretation": "Predictions off by +/-3.2 pts (R2=0.77, trust=strong)"
|
||||
},
|
||||
"baseline_stats": {
|
||||
"avg_quality": 83.4,
|
||||
"best_quality": 100.0,
|
||||
"worst_quality": 30.0,
|
||||
"sample_size": 880
|
||||
},
|
||||
"feature_importance": {
|
||||
"rolling_avg_quality_5": 28.98,
|
||||
"quality_delta_10": 26.06,
|
||||
"num_orders": 12.98,
|
||||
"hour": 12.48,
|
||||
"day_of_week": 8.26,
|
||||
"num_riders": 4.61,
|
||||
"max_pickup_distance_km": 2.47,
|
||||
"max_orders_per_rider": 1.04,
|
||||
"max_kitchen_distance_km": 0.93,
|
||||
"workload_balance_threshold": 0.62,
|
||||
"is_peak": 0.57,
|
||||
"ideal_load": 0.5,
|
||||
"workload_penalty_weight": 0.18,
|
||||
"road_factor": 0.15,
|
||||
"search_time_limit_seconds": 0.08,
|
||||
"distance_penalty_weight": 0.06,
|
||||
"cluster_radius_km": 0.04
|
||||
},
|
||||
"top_trials": [
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 8.059607113687592,
|
||||
"max_kitchen_distance_km": 3.557541351566059,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9477826833914522,
|
||||
"workload_penalty_weight": 76.82444554427441,
|
||||
"distance_penalty_weight": 3.1729184243565047,
|
||||
"cluster_radius_km": 3.1900618324706227,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.456682787912438
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.922163642403831,
|
||||
"max_kitchen_distance_km": 3.560648853560723,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9496626205810123,
|
||||
"workload_penalty_weight": 75.42186153753029,
|
||||
"distance_penalty_weight": 3.2508390582807714,
|
||||
"cluster_radius_km": 3.139706478950993,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4512573832284252
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.909351329233809,
|
||||
"max_kitchen_distance_km": 3.5730562042946805,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9461193785353987,
|
||||
"workload_penalty_weight": 75.58774451546567,
|
||||
"distance_penalty_weight": 3.023081767323725,
|
||||
"cluster_radius_km": 2.9359493072618243,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4523616577581806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.899921037006148,
|
||||
"max_kitchen_distance_km": 3.596149879389368,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9486010699634219,
|
||||
"workload_penalty_weight": 76.40722202337206,
|
||||
"distance_penalty_weight": 3.056702696738658,
|
||||
"cluster_radius_km": 2.9703866947191733,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.464829881116208
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.8699343570819424,
|
||||
"max_kitchen_distance_km": 3.5925575890865504,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9490495565477699,
|
||||
"workload_penalty_weight": 80.15149397601218,
|
||||
"distance_penalty_weight": 3.0716641537068874,
|
||||
"cluster_radius_km": 2.9214053883777416,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4643685958637496
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.837799681658111,
|
||||
"max_kitchen_distance_km": 3.6432511947304795,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9418215533677297,
|
||||
"workload_penalty_weight": 81.41780280727099,
|
||||
"distance_penalty_weight": 2.969582531222015,
|
||||
"cluster_radius_km": 2.8628487555487707,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4671924571987078
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.879074471706855,
|
||||
"max_kitchen_distance_km": 3.6557019240116966,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9493119929922423,
|
||||
"workload_penalty_weight": 85.22949214929176,
|
||||
"distance_penalty_weight": 2.9833341504230377,
|
||||
"cluster_radius_km": 2.859226254037536,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4686814250911806
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.823191742797717,
|
||||
"max_kitchen_distance_km": 3.6432473098256875,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9498125411623218,
|
||||
"workload_penalty_weight": 85.45456841118795,
|
||||
"distance_penalty_weight": 2.9688230845094177,
|
||||
"cluster_radius_km": 2.842435439385513,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4670753169304525
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.852371726123224,
|
||||
"max_kitchen_distance_km": 3.6398102622452124,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9428641510356341,
|
||||
"workload_penalty_weight": 84.99438481502906,
|
||||
"distance_penalty_weight": 2.939503242717154,
|
||||
"cluster_radius_km": 2.9253430536035037,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4674115327453523
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
},
|
||||
{
|
||||
"params": {
|
||||
"max_pickup_distance_km": 7.924961584799045,
|
||||
"max_kitchen_distance_km": 3.6506307086450454,
|
||||
"max_orders_per_rider": 20,
|
||||
"ideal_load": 4,
|
||||
"workload_balance_threshold": 0.9427326784575867,
|
||||
"workload_penalty_weight": 86.74116147010929,
|
||||
"distance_penalty_weight": 2.9741884394575506,
|
||||
"cluster_radius_km": 2.92845676158564,
|
||||
"search_time_limit_seconds": 13,
|
||||
"road_factor": 1.4668680923724249
|
||||
},
|
||||
"score": 95.66841888427734
|
||||
}
|
||||
],
|
||||
"pareto_frontier": []
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user