【机器学习案列-44】运输逾期预测机器学习案例 博主简介曾任某智慧城市类企业算法总监目前在美国市场的物流公司从事高级算法工程师一职深耕人工智能领域精通python数据挖掘、可视化、机器学习等发表过AI相关的专利并多次在AI类比赛中获奖。CSDN人工智能领域的优质创作者提供AI相关的技术咨询、项目开发和个性化解决方案等服务如有需要请站内私信或者联系任意文章底部的的VX名片IDxf982831907 博主粉丝群介绍① 群内初中生、高中生、本科生、研究生、博士生遍布可互相学习交流困惑。② 热榜top10的常客也在群里也有数不清的万粉大佬可以交流写作技巧上榜经验涨粉秘籍。③ 群内也有职场精英大厂大佬可交流技术、面试、找工作的经验。④ 进群免费赠送写作秘籍一份助你由写作小白晋升为创作大佬。⑤ 进群赠送CSDN评论防封脚本送真活跃粉丝助你提升文章热度。有兴趣的加文末联系方式备注自己的CSDN昵称拉你进群互相学习共同进步。【机器学习案列-44】运输逾期预测机器学习案例一、项目概述1.1 项目背景1.2 项目目标1.3 数据集描述二、数据探索与可视化2.1 数据质量分析2.2 运输状态分布2.3 数值特征分布2.4 特征相关性分析2.5 仓库与承运商分析三、特征工程3.1 目标变量构建3.2 异常值处理3.3 特征构造3.4 特征编码3.5 最终特征列表13个四、模型构建与评估4.1 实验设计4.2 模型列表及超参数4.3 模型结果汇总实际运行数据4.4 结果深度分析1模型表现两极分化2AUC-ROC 接近随机水平3最佳模型详细分析Decision Tree4.5 特征重要性分析4.6 Precision-Recall 曲线分析五、模型预测能力不足的原因分析5.1 数据层面的原因5.2 改进方向建议六、业务洞察与建议6.1 基于数据探索的关键发现6.2 运营建议七、结论7.1 实验结论7.2 核心价值项目的完整代码可以联系我获取一、项目概述1.1 项目背景本案例基于美国物流绩效数据集US Logistics Performance Dataset该数据集包含2000 条模拟的美国各地物流运输记录。系统涵盖7 家承运商UPS、FedEx、DHL、Amazon Logistics、LaserShip、OnTrac、USPS从10 个仓库发往美国各大城市的运输数据时间跨度为 2023 年全年。数据集包含有意设计的现实世界特征如缺失值约 2%和异常值约 3%适合用于物流优化和延迟预测方面的机器学习模型开发。1.2 项目目标构建机器学习分类模型预测货物运输是否会逾期Delayed辅助物流决策优化业务目标提前识别高风险运输采取干预措施降低逾期率技术目标在不平衡数据条件下尽可能提升逾期识别的召回率优化方向为承运商选择、路线优化、风险预警提供数据支持1.3 数据集描述字段类型说明Shipment_IDstring运输唯一编号SH10000~SH11165Origin_Warehousestring出发仓库10个MIA/LA/BOS/SF/ATL/CHI/HOU/SEA/NYC/DENDestinationstring目的地城市10个城市Carrierstring承运商7家Shipment_Datedate发货日期Delivery_Datedate送达日期含32个缺失值Weight_kgfloat货物重量kgCostfloat运输成本$含41个缺失值Statusstring运输状态Delivered/Delayed/Lost/In Transit/ReturnedDistance_milesint运输距离英里Transit_Daysint运输天数二、数据探索与可视化2.1 数据质量分析缺失值统计列名缺失数量缺失比例Delivery_Date321.6%Cost412.05%其他列00% — 缺失值集中在 Delivery_Date 和 Cost 两列。处理策略Delivery_Date直接删除不参与建模Shipment_Date直接删除不参与建模Cost使用中位数$196.42填充2.2 运输状态分布状态数量占比Delivered已送达1,64882.4%Delayed逾期19910.0%In Transit在途中763.8%Lost丢失452.3%Returned退回321.6%核心发现逾期Delayed占 10.0%199/2000属于中度不平衡分类问题。正负样本比约为 1:9需要使用类别权重平衡策略class_weightbalanced或过采样/欠采样技术。2.3 数值特征分布特征均值中位数分布特征Weight_kg30.220.7严重右偏存在极端异常值max5404.2 kgCost$205.2$196.4右偏分布少数运输成本极高Distance_miles1,275.91,262.5近似均匀分布均值与中位数接近Transit_Days4.24.0离散型分布峰值在 3~5 天2.4 特征相关性分析特征对相关系数解读Transit_Days ↔ Distance_miles0.761强正相关距离越远运输天数越多Cost ↔ Distance_miles0.436中度正相关距离越远成本越高Cost ↔ Transit_Days0.343弱中度正相关Cost ↔ Weight_kg0.021几乎无关Distance_miles ↔ Weight_kg-0.010几乎无关Transit_Days ↔ Weight_kg-0.006几乎无关关键发现重量与成本、距离几乎不相关说明该数据集中重量并不是成本的主要决定因素。距离与运输天数高度相关r0.761存在多重共线性风险。2.5 仓库与承运商分析各仓库运输量从高到低仓库运输量逾期率Warehouse_LA~22010.3%Warehouse_SF~21511.2%Warehouse_HOU~21011.8%最高Warehouse_ATL~20510.7%Warehouse_MIA~20011.5%Warehouse_CHI~19510.8%Warehouse_DEN~1928.0%Warehouse_BOS~1908.2%Warehouse_SEA~1888.8%Warehouse_NYC~1705.8%最低各承运商逾期率从高到低承运商逾期率DHL~14%最高Amazon Logistics~12.5%OnTrac~9.5%UPS~9%FedEx~8.5%LaserShip~8.5%USPS~7%最低各目的地逾期率 Top 10目的地逾期率Boston~16.5%最高Detroit~14%Phoenix~11.5%New York~11%Seattle~10%Dallas~9.5%Minneapolis~9.5%San Francisco~9%Chicago~9%Houston~8.5%还有一些距离vs成本散点分析、运输天数箱线图等分析不在进行一一展示三、特征工程3.1 目标变量构建Is_Delayed 1 (Status Delayed) → 199 条10.0% Is_Delayed 0 (其他所有状态) → 1801 条90.0%3.2 异常值处理使用IQR四分位距方法对 Cost 和 Weight_kg 进行截断处理下界 Q1 - 1.5 × IQR上界 Q3 1.5 × IQR超出范围的数值被截断到边界值Cap 处理不删除样本3.3 特征构造新特征计算方式说明Cost_per_kgCost / (Weight_kg 0.01)单位重量成本Cost_per_mileCost / (Distance_miles 1)单位距离成本Days_per_mileTransit_Days / (Distance_miles 1)单位距离运输天数运输效率指标Weight_Categorypd.cut(Weight_kg, 5级)重量分级: Light/Medium/Heavy/Very_Heavy/Extra_HeavyDistance_Categorypd.cut(Distance_miles, 5级)距离分级: Short/Medium/Long/Very_Long/Extra_LongCost_Categorypd.cut(Cost, 5级)成本分级: Low/Medium/High/Very_High/Extra_HighWarehouse_City从仓库名映射仓库所在城市3.4 特征编码Label Encoding对 Carrier、Warehouse_City、Destination、Weight_Category、Distance_Category、Cost_Category 进行标签编码Standard Scaling仅对 Logistic Regression 和 KNN 模型使用 StandardScaler 标准化3.5 最终特征列表13个数值特征7个Weight_kg, Cost, Distance_miles, Transit_Days, Cost_per_kg, Cost_per_mile, Days_per_mile编码特征6个Carrier_Encoded, Warehouse_Encoded, Destination_Encoded, Weight_Cat_Encoded, Dist_Cat_Encoded, Cost_Cat_Encoded四、模型构建与评估4.1 实验设计参数设置数据拆分80% 训练1600条/ 20% 测试400条随机种子42分层采样是stratifyy保证训练/测试集逾期比例一致交叉验证5 折分层交叉验证StratifiedKFold类别不平衡处理class_weight‘balanced’ / scale_pos_weight / is_unbalance4.2 模型列表及超参数模型关键参数Logistic Regressionmax_iter1000, class_weight‘balanced’Decision Treemax_depth8, class_weight‘balanced’Random Forestn_estimators200, max_depth10, class_weight‘balanced’Gradient Boostingn_estimators200, max_depth5, learning_rate0.1KNNn_neighbors10, weights‘distance’XGBoostn_estimators200, max_depth6, lr0.1, scale_pos_weightautoLightGBMn_estimators200, max_depth6, lr0.1, is_unbalanceTrue4.3 模型结果汇总实际运行数据模型AccuracyPrecisionRecallF1-ScoreAUC-ROCCV F1均值CV F1标准差Logistic Regression0.50000.13040.37500.13040.48310.16420.0279Decision Tree0.54250.17190.47500.17190.51520.14800.0290Random Forest0.89250.00000.00000.00000.44960.01110.0222Gradient Boosting0.88500.00000.00000.00000.44880.04240.0377KNN0.90000.00000.00000.00000.50920.00000.0000XGBoost0.85750.06560.05000.06560.43970.04130.0457LightGBM0.85750.09520.07500.09520.47070.08340.04784.4 结果深度分析1模型表现两极分化实际运行结果揭示了一个关键现象——模型表现呈现两极分化激进型模型Random Forest、Gradient Boosting、KNNAccuracy 高达 88.5%~90%但Recall0——它们将所有样本都预测为未逾期完全无法识别逾期运输。高 Accuracy 是类别不平衡下的伪像。敏感型模型Decision Tree、Logistic Regression能识别出部分逾期Recall 37.5%~47.5%但 Precision 极低13%~17.2%产生大量误报。中间型模型XGBoost、LightGBM仅识别出极少数逾期Recall 5%~7.5%效果有限。2AUC-ROC 接近随机水平所有模型的 AUC-ROC 都在0.44~0.52之间接近随机猜测的 0.5 水平模型AUC-ROC判别能力Decision Tree0.5152最高≈ 随机水平KNN0.5092≈ 随机水平Logistic Regression0.4831 随机水平LightGBM0.4707 随机水平Random Forest0.4496 随机水平Gradient Boosting0.4488 随机水平XGBoost0.4397 随机水平所有 ROC 曲线紧贴对角线随机基线无明显分离。3最佳模型详细分析Decision Tree混淆矩阵Decision Tree测试集 400 条预测未逾期预测逾期真实未逾期198162真实逾期2119分类报告类别PrecisionRecallF1-ScoreSupport未逾期0.900.550.68360逾期0.100.470.1740加权平均0.820.540.63400解读测试集中有 40 条逾期样本模型正确识别了 19 条Recall47.5%但同时误判了 162 条未逾期样本为逾期大量误报Precision 仅 10.5%整体 Accuracy 仅 54.25%——接近随机水平4.5 特征重要性分析各模型的特征重要性排名存在差异但以下特征在多数模型中排名靠前排名Decision TreeRandom ForestGradient BoostingXGBoostLightGBM1Cost_per_kgCost_per_kgCostCost_per_kgDays_per_mile2CostWeight_kgCost_per_mileDistance_milesWeight_kg3Weight_kgCost_per_mileCost_per_kgWeight_kgCost_per_mile4Distance_milesCostDays_per_mileCostCost5Days_per_mileDays_per_mileWeight_kgCarrier_EncodedCost_per_kg核心发现Cost_per_kg单位重量成本在 4/5 的树模型中排名第一是最重要的预测特征Weight_kg重量在所有模型中均进入 Top 5衍生特征Cost_per_mile、Days_per_mile、Cost_per_kg贡献显著说明特征工程有效Transit_Days重要性普遍较低与相关性分析一致——它本身与逾期关系不强4.6 Precision-Recall 曲线分析在 10% 正样本比例下随机猜测的 Precision 基线为 10%。从 PR 曲线来看Decision Tree在 Recall 0.2 后 Precision 稳定在 10%~15%略高于基线Logistic Regression表现类似Precision 在 8%~12% 区间波动其余模型的 PR 曲线接近或低于基线五、模型预测能力不足的原因分析本次实验中所有模型的预测能力均较弱AUC 接近 0.5需要从数据和业务角度分析原因5.1 数据层面的原因原因分析特征预测力不足现有特征重量、成本、距离、天数、承运商、仓库、目的地与是否逾期之间的关联性本身就很弱。逾期可能更多取决于外部因素天气、交通、节假日拥堵、仓库操作效率等而这些信息在数据集中不存在。类别不平衡正样本仅占 10%199/2000模型学习到的逾期模式有限模拟数据特性该数据集为模拟生成数据逾期标签可能是随机分配的与特征之间没有强因果关系多重共线性Distance_miles 与 Transit_Days 高度相关r0.761部分特征信息冗余5.2 改进方向建议方向具体措施预期效果增加特征引入季节性特征月份/季度、节假日标记、天气数据、交通拥堵指数可能显著提升模型性能高级采样使用 SMOTE、ADASYN 等过采样技术或 SMOTEENN 混合采样缓解类别不平衡超参调优使用 Optuna/Hyperopt 进行贝叶斯超参优化提升 5%~15%阈值调优调整分类阈值降低阈值提高 Recall可根据业务需求灵活调整集成策略Stacking/Voting 集成多个弱模型提升鲁棒性异常检测思路将逾期视为异常使用 Isolation Forest、One-Class SVM 等方法适合极端不平衡场景六、业务洞察与建议6.1 基于数据探索的关键发现承运商差异显著DHL 逾期率最高~14%USPS 最低~7%差距达 2 倍目的地影响明显Boston 目的地逾期率高达 16.5%Houston 仅 8.5%仓库差异HOU休斯顿仓库逾期率 11.8% 最高NYC纽约5.8% 最低重量等级影响有限不同重量等级的逾期率差异不大9.3%~10.5%特征间关系距离与运输天数强相关r0.761重量与成本几乎无关r0.0216.2 运营建议建议优先级依据对 Boston、Detroit 目的地的运输加强跟踪高逾期率 14%~16.5%远高于平均评估 DHL 承运商的服务质量高逾期率 14%显著高于其他承运商对 HOU/MIA/SF 仓库出发的运输预留更多缓冲时间中逾期率 11%~12%优先选择 USPS/FedEx 承运低时效要求的货物中逾期率最低7%~8.5%建立实时运输监控系统高当前数据无法有效预测逾期需更多实时数据收集天气、节假日、交通等外部数据高现有特征预测力不足需外部数据补充七、结论7.1 实验结论维度结论最佳模型Decision TreeF10.1719, AUC0.5152仅略优于随机预测能力所有模型的 AUC-ROC 均在 0.44~0.52 之间预测能力接近随机水平根本原因现有特征与逾期标签之间缺乏强关联性逾期行为可能由数据集中未包含的外部因素驱动数据探索价值虽然预测模型效果不佳但 EDA 揭示了有价值的业务洞察承运商/目的地/仓库的逾期率差异7.2 核心价值本案例的真正价值不在于构建了一个高精度的预测模型当前数据不支持而在于完整的 ML 工程实践从数据清洗、特征工程、模型训练到评估的全流程不平衡分类问题的真实挑战展示了在类别不平衡 弱信号条件下模型的真实表现数据探索的业务价值通过 EDA 发现了承运商、目的地、仓库维度的逾期率差异模型诊断能力通过分析为什么模型不好理解了特征预测力的局限性改进方向明确为后续优化提供了清晰的路径增加外部特征、高级采样、阈值调优等项目的完整代码可以联系我获取注博主目前收集了6900份相关数据集有想要的可以领取部分数据关注下方公众号或添加微信