news 2026/7/30 12:57:43

【机器学习案列-44】运输逾期预测机器学习案例

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【机器学习案列-44】运输逾期预测机器学习案例

🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN人工智能领域的优质创作者,提供AI相关的技术咨询、项目开发和个性化解决方案等服务,如有需要请站内私信或者联系任意文章底部的的VX名片(ID:xf982831907

💬 博主粉丝群介绍:① 群内初中生、高中生、本科生、研究生、博士生遍布,可互相学习,交流困惑。② 热榜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)模型表现两极分化
        • (2)AUC-ROC 接近随机水平
        • (3)最佳模型详细分析:Decision Tree
      • 4.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~SH11165)
Origin_Warehousestring出发仓库(10个:MIA/LA/BOS/SF/ATL/CHI/HOU/SEA/NYC/DEN)
Destinationstring目的地城市(10个城市)
Carrierstring承运商(7家)
Shipment_Datedate发货日期
Delivery_Datedate送达日期(含32个缺失值)
Weight_kgfloat货物重量(kg)
Costfloat运输成本($,含41个缺失值)
Statusstring运输状态:Delivered/Delayed/Lost/In Transit/Returned
Distance_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_weight='balanced')或过采样/欠采样技术。

2.3 数值特征分布

特征均值中位数分布特征
Weight_kg30.220.7严重右偏,存在极端异常值(max=5404.2 kg)
Cost$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几乎无关

关键发现:重量与成本、距离几乎不相关,说明该数据集中重量并不是成本的主要决定因素。距离与运输天数高度相关(r=0.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_Heavy
Distance_Categorypd.cut(Distance_miles, 5级)距离分级: Short/Medium/Long/Very_Long/Extra_Long
Cost_Categorypd.cut(Cost, 5级)成本分级: Low/Medium/High/Very_High/Extra_High
Warehouse_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
分层采样是(stratify=y),保证训练/测试集逾期比例一致
交叉验证5 折分层交叉验证(StratifiedKFold)
类别不平衡处理class_weight=‘balanced’ / scale_pos_weight / is_unbalance

4.2 模型列表及超参数

模型关键参数
Logistic Regressionmax_iter=1000, class_weight=‘balanced’
Decision Treemax_depth=8, class_weight=‘balanced’
Random Forestn_estimators=200, max_depth=10, class_weight=‘balanced’
Gradient Boostingn_estimators=200, max_depth=5, learning_rate=0.1
KNNn_neighbors=10, weights=‘distance’
XGBoostn_estimators=200, max_depth=6, lr=0.1, scale_pos_weight=auto
LightGBMn_estimators=200, max_depth=6, lr=0.1, is_unbalance=True

4.3 模型结果汇总(实际运行数据)

模型AccuracyPrecisionRecallF1-ScoreAUC-ROCCV F1均值CV F1标准差
Logistic Regression0.50000.13040.37500.13040.48310.16420.0279
Decision Tree0.54250.17190.47500.17190.51520.14800.0290
Random Forest0.89250.00000.00000.00000.44960.01110.0222
Gradient Boosting0.88500.00000.00000.00000.44880.04240.0377
KNN0.90000.00000.00000.00000.50920.00000.0000
XGBoost0.85750.06560.05000.06560.43970.04130.0457
LightGBM0.85750.09520.07500.09520.47070.08340.0478

4.4 结果深度分析

(1)模型表现两极分化

实际运行结果揭示了一个关键现象——模型表现呈现两极分化

  • 激进型模型(Random Forest、Gradient Boosting、KNN):Accuracy 高达 88.5%~90%,但Recall=0——它们将所有样本都预测为"未逾期",完全无法识别逾期运输。高 Accuracy 是类别不平衡下的"伪像"。
  • 敏感型模型(Decision Tree、Logistic Regression):能识别出部分逾期(Recall 37.5%~47.5%),但 Precision 极低(13%~17.2%),产生大量误报。
  • 中间型模型(XGBoost、LightGBM):仅识别出极少数逾期(Recall 5%~7.5%),效果有限。
(2)AUC-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 条(Recall=47.5%)
  • 但同时误判了 162 条未逾期样本为"逾期"(大量误报,Precision 仅 10.5%)
  • 整体 Accuracy 仅 54.25%——接近随机水平

4.5 特征重要性分析

各模型的特征重要性排名存在差异,但以下特征在多数模型中排名靠前:

排名Decision TreeRandom ForestGradient BoostingXGBoostLightGBM
1Cost_per_kgCost_per_kgCostCost_per_kgDays_per_mile
2CostWeight_kgCost_per_mileDistance_milesWeight_kg
3Weight_kgCost_per_mileCost_per_kgWeight_kgCost_per_mile
4Distance_milesCostDays_per_mileCostCost
5Days_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 高度相关(r=0.761),部分特征信息冗余

5.2 改进方向建议

方向具体措施预期效果
增加特征引入季节性特征(月份/季度)、节假日标记、天气数据、交通拥堵指数可能显著提升模型性能
高级采样使用 SMOTE、ADASYN 等过采样技术,或 SMOTEENN 混合采样缓解类别不平衡
超参调优使用 Optuna/Hyperopt 进行贝叶斯超参优化提升 5%~15%
阈值调优调整分类阈值(降低阈值提高 Recall)可根据业务需求灵活调整
集成策略Stacking/Voting 集成多个弱模型提升鲁棒性
异常检测思路将逾期视为异常,使用 Isolation Forest、One-Class SVM 等方法适合极端不平衡场景

六、业务洞察与建议

6.1 基于数据探索的关键发现

  1. 承运商差异显著:DHL 逾期率最高(~14%),USPS 最低(~7%),差距达 2 倍
  2. 目的地影响明显:Boston 目的地逾期率高达 16.5%,Houston 仅 8.5%
  3. 仓库差异:HOU(休斯顿)仓库逾期率 11.8% 最高,NYC(纽约)5.8% 最低
  4. 重量等级影响有限:不同重量等级的逾期率差异不大(9.3%~10.5%)
  5. 特征间关系:距离与运输天数强相关(r=0.761),重量与成本几乎无关(r=0.021)

6.2 运营建议

建议优先级依据
对 Boston、Detroit 目的地的运输加强跟踪逾期率 14%~16.5%,远高于平均
评估 DHL 承运商的服务质量逾期率 14%,显著高于其他承运商
对 HOU/MIA/SF 仓库出发的运输预留更多缓冲时间逾期率 11%~12%
优先选择 USPS/FedEx 承运低时效要求的货物逾期率最低(7%~8.5%)
建立实时运输监控系统当前数据无法有效预测逾期,需更多实时数据
收集天气、节假日、交通等外部数据现有特征预测力不足,需外部数据补充

七、结论

7.1 实验结论

维度结论
最佳模型Decision Tree(F1=0.1719, AUC=0.5152),仅略优于随机
预测能力所有模型的 AUC-ROC 均在 0.44~0.52 之间,预测能力接近随机水平
根本原因现有特征与逾期标签之间缺乏强关联性,逾期行为可能由数据集中未包含的外部因素驱动
数据探索价值虽然预测模型效果不佳,但 EDA 揭示了有价值的业务洞察(承运商/目的地/仓库的逾期率差异)

7.2 核心价值

本案例的真正价值不在于构建了一个高精度的预测模型(当前数据不支持),而在于:

  1. 完整的 ML 工程实践:从数据清洗、特征工程、模型训练到评估的全流程
  2. 不平衡分类问题的真实挑战:展示了在类别不平衡 + 弱信号条件下模型的真实表现
  3. 数据探索的业务价值:通过 EDA 发现了承运商、目的地、仓库维度的逾期率差异
  4. 模型诊断能力:通过分析"为什么模型不好",理解了特征预测力的局限性
  5. 改进方向明确:为后续优化提供了清晰的路径(增加外部特征、高级采样、阈值调优等)

项目的完整代码可以联系我获取:

注:博主目前收集了6900+份相关数据集,有想要的可以领取部分数据,关注下方公众号或添加微信:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/30 12:56:39

Web安全入门实战:从浏览器工具到SQL注入的攻防世界通关指南

1. 从零开始&#xff1a;为什么攻防世界是Web安全入门的首选 如果你刚接触网络安全&#xff0c;或者对CTF&#xff08;Capture The Flag&#xff09;夺旗赛里的Web题目感到无从下手&#xff0c;那么“攻防世界”这个平台&#xff0c;尤其是它的“Web初级练习区”&#xff0c;绝…

作者头像 李华
网站建设 2026/7/30 12:56:22

Windows内存优化终极指南:用Mem Reduct让你的电脑重获新生!

Windows内存优化终极指南&#xff1a;用Mem Reduct让你的电脑重获新生&#xff01; 【免费下载链接】memreduct Lightweight real-time memory management application to monitor and clean system memory on your computer. 项目地址: https://gitcode.com/gh_mirrors/me/m…

作者头像 李华
网站建设 2026/7/30 12:56:15

告别风扇噪音!5个步骤用Fan Control打造完美静音电脑

告别风扇噪音&#xff01;5个步骤用Fan Control打造完美静音电脑 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa/…

作者头像 李华
网站建设 2026/7/30 12:56:13

告别低效查询:腾讯云 PostgreSQL Push Pred 助力性能飞跃

告别低效查询&#xff1a;腾讯云 PostgreSQL Push Pred 助力性能飞跃 谓词下推是数据库优化器老生常谈的优化特性&#xff0c;为什么需要谓词下推&#xff1f;其实核心就一个——让数据过滤“越早越好”&#xff0c;减少后续计算的压力。 每个数据库都有自己谓词下推的算法&…

作者头像 李华
网站建设 2026/7/30 12:54:37

BBWEYY 跨境电商低成本获客转化解决方案:DTC品牌用BBWEYY独立站提升复购与客户终身价值实战,含零代码SAAS、AI编程、源码定制交付

跨境电商实战指南 DTC品牌用BBWEYY独立站提升复购与客户终身价值实战 从一次成交走向会员、内容、订阅与长期客户关系 干货分享&#xff5c;美妆、服饰、家居、健康、宠物与消费电子DTC品牌 DTC品牌真正的利润&#xff0c;不只来自首单&#xff0c;而来自能够持续识别、触达…

作者头像 李华
网站建设 2026/7/30 12:54:01

如何5分钟学会AI智能分层:Layerdivider图像分层工具完整指南

如何5分钟学会AI智能分层&#xff1a;Layerdivider图像分层工具完整指南 【免费下载链接】layerdivider A tool to divide a single illustration into a layered structure. 项目地址: https://gitcode.com/gh_mirrors/la/layerdivider 你是否曾经面对一张精美的插画或…

作者头像 李华