mohammadrezatavafoghi/Crash-Driver-Fault-Prediction
GitHub: mohammadrezatavafoghi/Crash-Driver-Fault-Prediction
基于真实碰撞报告数据集,运用多种机器学习算法预测交通事故中驾驶员是否负有责任的数据挖掘项目。
Stars: 0 | Forks: 0
# 数据挖掘项目 – 碰撞报告驾驶员数据



## 概述
本项目旨在探索和准备一个真实的碰撞报告数据集,以用于数据挖掘任务。该 Notebook 执行了数据理解、探索性数据分析 (EDA) 和预处理步骤,旨在清理和构建数据,为潜在的机器学习应用做好准备。
分析的重点在于识别驾驶员碰撞报告中的模式,并为进一步的建模准备可靠的数据集。
## 数据集
本项目使用的数据集:
**碰撞报告 – 驾驶员数据**
来源:https://catalog.data.gov/dataset/crash-reporting-drivers-data
该数据集包含了已报告交通事故中与驾驶员相关的信息,包括车辆特征、碰撞环境和驾驶员属性。
## 项目目标
- 了解数据集的结构和质量
- 探索数值变量和类别变量
- 分析特征分布
- 检测潜在目标变量中的类别不平衡问题
- 清理和标准化类别数据
- 为未来的机器学习模型准备数据集
## 主要观察结果
- 该数据集包含**数值**和**类别**特征。
- **受伤严重程度** 属性高度**不平衡**,大多数记录属于非严重类别。
- 由于这种不平衡,在分析中该变量**未被用作目标变量**。
- 进行了语义数据清理以统一类别标签(例如,大小写差异或同义标签)。
- 在划分数据集之前,仅进行了非统计性清理,以**避免数据泄漏**。
## 项目工作流
### 1. 库导入与数据加载
项目使用了常见的 Python 数据科学库:
- pandas
- numpy
- matplotlib
- scikit‑learn
加载并检查数据集以了解其结构。
### 2. 数据理解
初步检查包括:
- 数据集形状
- 列类型
- 描述性统计
- 预览记录
### 3. 探索性数据分析 (EDA)
EDA 探索了数据集内的分布和关系,包括以下可视化:
- 速度限制分布
- 车辆年份分布
这些可视化有助于识别模式、异常值和潜在的预处理需求。
### 4. 数据清理
清理步骤包括:
- 标准化类别标签
- 消除基于文本的类别中的不一致性
- 为后续建模准备列
这些操作纯粹是语义上的,不依赖于统计属性或目标信息。
### 5. 数据准备注意事项
为了防止**数据泄漏**:
- 在拆分前仅进行语义清理
- 任何统计预处理都应在**训练集/测试集划分之后**应用,并且仅在训练数据上进行拟合。
## 仓库结构
```
.
├── DM_Project_1017.ipynb
└── README.md
```
## 环境要求
安装所需的 Python 库:
```
pip install pandas numpy matplotlib scikit-learn
```
## 运行项目
1. 克隆仓库
```
git clone https://github.com/your-username/your-repo-name.git
```
2. 打开 Notebook
```
jupyter notebook DM_Project_1017.ipynb
```
3. 按顺序运行单元格以重现分析结果。
## 作者
- Mohammadreza Tavafoghi
- Shayan Etminan
## 未来工作
本项目可能的扩展方向包括:
- 特征工程
- 处理类别不平衡
- 训练分类模型
- 模型评估与比较
- 构建预测性碰撞严重程度模型
标签:Apex, BSD, NoSQL, Python, 交通事故分析, 分类预测, 数据挖掘, 数据预处理, 无后门, 机器学习, 逆向工具