项目简介
本项目通过分析台北市警察局提供的2015年至2019年道路交通事故调查报告,运用数据预处理、特征分析和模型训练等方法,构建车祸类型分类模型,并用SHAP分析每年车祸结果的分类变化,为政策制定者提供建议,以制定有效交通安全措施,减少事故发生、提升公共安全。
项目的主要特性和功能
- 数据预处理:用Python脚本处理并合并多个Excel文件中的交通事故数据,生成统一的CSV文件,方便后续分析。
- 特征分析:利用随机森林模型分析数据特征重要性,筛选出对结果有显著影响的特征。
- 模型训练与评估:尝试多种分类模型(决策树、随机森林、梯度提升等),通过交叉验证评估性能,选出最佳模型。
- 结果分析:使用SHAP值分析模型决策过程,识别影响事故发生的关键因素。
安装使用步骤
环境准备
确保已安装Python及其相关的机器学习库(如pandas
、sklearn
、matplotlib
、shap
等)。使用以下命令安装所需的库:
bash
pip install pandas scikit-learn matplotlib shap
数据预处理
运行data.py
脚本,合并并处理数据:
bash
python data.py
该脚本将生成step1.csv
文件,包含合并后的数据。
特征分析
运行RandomForest.py
脚本,分析特征重要性:
bash
python RandomForest.py
该脚本将生成step2.csv
文件,包含特征重要性分析结果。
模型训练与评估
运行model_training.py
脚本,训练并评估模型:
bash
python model_training.py
该脚本将输出模型训练过程中的损失和准确率图表,并保存最佳模型。
结果分析
运行shap_analysis.py
脚本,分析模型预测结果:
bash
python shap_analysis.py
该脚本将生成SHAP分析图表,展示关键特征对预测结果的影响。
结果查看
- 数据预处理结果:查看
step1.csv
文件,包含合并后的数据。 - 特征分析结果:查看
step2.csv
文件,包含特征重要性分析结果。 - 模型训练结果:查看模型训练过程中的损失和准确率图表。
- SHAP分析结果:查看SHAP分析图表,了解关键特征对预测结果的影响。
注意事项
- 由于项目涉及多个文件和步骤,建议按照顺序逐一运行脚本,并查看每个步骤的输出结果。
- 项目使用的数据集为非公开数据,需确保数据来源合法。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】