APP下载

基于决策树C4.5算法的个人驾驶行为分析

2017-02-06刘凯利李晋宏

软件 2016年6期
关键词:剪枝决策树增益

刘凯利+李晋宏

摘要:针对我国汽车产业及运输行业的快速发展,但交通安全观念及文明意识明显滞后、不规范驾驶行为多发的问题,利用数据挖掘中的决策树方法,对个人驾驶行为数据进行预处理,分析与驾驶行为相关的主要指标,然后通过C4.5算法构建了决策树知识学习模型,并采用后剪枝法(post-punning)对其进行剪枝,最后利用建立的模型对测试数据集进行评估。研究结果表明:该决策树模型有较高的准确性,为个人驾驶行为分析提供了可行性依据。

关键词:交通安全;驾驶行为;决策树;C4.5算法;后剪枝法

引言

根据相关数据显示,我国2014年底机动车驾驶人数量突破历史性的3亿人,机动车的使用数量及驾驶人数,使得我国面临更为严峻的交通安全形势。2014年,我国交通事故死亡人数为34292.34人,比2013年的死亡31604.3人增加了2688.04人,增长率为8.5%;相比2012年的死亡30222.5人,增加了4069.84人,增长率为13.46%;美国公路运输安全管理局(National Highway Traffic Safety Admini-stration:HTSA)曾在2009年调查发现,由于酒后驾驶行为导致的死亡人数为10839,为交通事故总死亡人数的32%;澳大利亚MONASH大学事故研究中心的研究报告表明,接近25%的道路交通事故是由于驾驶员的分心。可见,不当的驾驶行为是近些年来诱发交通事故的主要原因,对驾驶行为的分析与研究变得尤为重要。

此外,随着国民经济的快速增长,运输企业和租车公司急速扩张,而如何降低车队运营成本,加强对驾驶员的行为管理成为关键问题。比如以色列的Traffilog管理系统,通过记录司机的多种不良驾驶行为,譬如超速、过程怠速、急刹车、急加速、超转行驶、停车立即熄火、低油量行驶、冷却系统异常、停车状态踩油门、长时间刹车、长时间离合、粘离合、发动机异常熄火等信息,有意识提醒并改善司机的驾驶行为情况;国内最早是苏州金龙于2011年推出GBOS智慧运营系统,后来该系统的管理理念又被复制到了卡车行业,陕汽顺势在2013年推出“天行健车联网系统”,为汽车经销商、个体车主及运输公司提供车贷管理服务、驾驶员行为分析服务、车辆常规监控服务、油耗节能服务等。

由于后天的实际车路况不同、交通监控设施不到位、违章成本低等诸多因素,大多数驾驶员会或多或少养成一些不良驾驶行为,譬如超速行为、减速行为、加速行为等,这些驾驶行为的确会影响车辆油耗、车辆使用寿命及车辆安全隐患。然而驾驶员的驾驶行为除了与路况环境相关外,与驾龄、行车时间、车速、是否工作日等信息也息息相关,本文通过分析这些影响驾驶行为的因素,判断其与不良驾驶行为之间的关系,运用决策树C4.5算法以期对驾驶行为分类,改善不良驾驶习惯,提高交通安全意识。

1决策树基本概念

决策树是一种简单但是广泛使用的分类器,由内部节点,叶子节点以及分支构成。其中,内部节点表示在一个属性上的测试,分支代表测试的输出,叶子节点表示类别分布。树中每一个非叶节点对应着一个非类别属性,分支代表这个属性的值,而根节点到叶子节点之间的路径则形成一条分类规则。决策树可以很方便地转化为分类规则,是一种直观的分类模式表现形式。

ID3以及C4.5算法是最典型的决策树算法,其中ID3是1986年由Quinlan提出的最著名的决策树算法,运用信息熵理论,选择当前样本集中最大信息增益的属性值作为测试属性,样本集的划分则依据测试属性的值进行,测试属性有多少不同取值就将样本集划分为多少子样本集。ID3算法简单、快速但要求属性离散,而C4.5算法可以处理连续的属性值,它选择具有最大增益比例的属性作为划分样本集的属性。

2数据采集与预处理

本文所使用的数据来源于某车祸预防系统,此系统现已经安装在租车公司的运营车辆上面,可以记录驾驶员的性别、年龄、工龄、数据上传时间、车速以及告警类型等信息,并通过网络传输到后台数据库,进而获取个人驾驶行为数据。

然而,随着数据库中数据的快速增长,决策树的生成速度和准确性的评估将会明显变慢,并最终可能超过硬件的承载能力,因而通常的做法是对业务数据源进行抽样,选取出一个大小适中并尽可能地包含有全部业务数据的数据集样本。本文采集共计4543条数据,并采用保持法随机将此数据的2/3作为训练数据,其余的1/3作为测试数据。数据样例见表1。

这些驾驶数据中,存在一些重复和无效的数据影响驾驶行为的分析,因此在进行预处理时利用Python语言将这些数据从表中删除,比如:重复的时间,持续的怠速为0状态等。此外,由于研究目标是针对个人的驾驶行为,性别、年龄、工龄这些与输出变量无关的固定变量,应将其删除。对连续型属性如时间和车速,经过分析,对时间和车速采用离散化处理,并根据数据上传时间增加了是否工作日(work day)属性,其中1代表工作日,0代表非工作日,而时间主要分析2个时间段,0代表早高峰7:00-9:00,1代表晚高峰17:00-19:00,并计算各个时间段内的平均车速。告警类型采用每段时间内出现频率最大(max(pi))的告警类型作为类别结果,得到的标准化训练样本见表2。

3 C4.5算法构建决策树

决策树的构建主要借鉴分治法的思想,将一个庞大的、复杂的分类问题,逐步转化为若干个简单的、规模更小的分类问题,自上而下地递归建立分类器模型。C4.5算法的核心是通过采用信息增益比例的方式来选择能够将样本分类的最佳属性,而增益比例存在的问题是:倾向于选择分割不均匀的分裂方法,即若一个节点拆分为两个节点,其中一个节点属性取值特别多,另一个节点取值特别少时,这种拆分有利于被选择。为了克服此问题,需要对C4.5算法进行改进,采取的具体解决方案如下:首先利用信息增益概念,计算每一个属性划分的信息增益,获得平均信息增益;选出信息增益大于平均值的所有属性集合,对该集合计算增益比例,选择其中增益比例最大的属性进行决策树分裂。

3.1信息增益率的计算

定义1设D是训练样本集,类别属性具有m个不同的值,即有m个不同类Ci(i=1,2,…,m),Dj是隶属Ci类的样本集合,则信息熵的计算公式为:

3.2决策树生成与剪枝

本文使用Python语言进行计算信息熵、C4.5算法划分数据集递归构建了决策树,同时为了避免决策树过拟合(Overfitting)样本,即随着决策树节点个数的增加,决策树在训练样例集上的准确度不断提升,但在测试集上的准确度却逐渐降低,需要对得到的初始决策树进行除噪和分支异常处理,并采用后剪枝法(post-punning)对其进行剪枝。

决策树构造过程中,修剪方法有两种:预剪枝法和后剪枝法,其中预剪枝法是指在构造节点时,若节点的信息增益小于0.1%,则舍弃;或者构造节点时若节点下的记录数在所有记录数中的比例小于0.2%,则停止其子树的生长;构造节点时如果没有属性可以用于对数据进行分割,则停止该子树的生长。后剪枝法则采用期望错误率最小原则,即对树中的内部节点计算其剪枝/不剪枝可能出现的期望错误率,如果剪去该节点导致较高的期望错误率,则保留该子树,否则剪掉该子树,最后得到具有最小期望错误率的决策树。其生成的决策树如图1所示。

3.3模型评估及分析

使用生成的决策树模型对测试数据集进行评估,参与测试的样本数据集有1400个,占整个数据集的1/3。为了评估此模型的准确性,可以利用测试数据集中的数据进行预测,并比较测试结果与实际情况的吻合程度。其准确率公式如下:

利用决策树模型得到的检验结果见表3。

通过对数据集的测试与评估可以看出,总体平均识别率达到89.41%,检测结果表明运用C4.5算法学习到的模型对未来数据样本的分类预测可以达到基本要求。

最终生成的决策树模型是以IF-THEN形式形成的分类规则集合,从根节点到叶子节点的每条路径构成一条规则,路径内部节点的特征对应规则的条件,叶子节点的类则对应规则的结论。

从生成的决策树可以看出:作为根节点的平均车速属性是所有样本中信息量最大的属性,即驾驶人的平均车速对告警类型的产生影响较为显著,而告警类型是即将发生危险时,车祸预防系统以图像和声音的形式对驾驶者的直接提醒,说明车速与日常交通事故的发生有着密不可分的关系。此外,结合对平均每小时报警数(报警数/驾驶时长)的统计,如果单位时间内告警数量有明显下降,说明驾驶员对警示提醒有了重视,这有助于驾驶员形成良好的驾驶习惯,形成良好的驾驶行为;同时发现在早高峰和晚高峰时期,多次发生城市碰撞,说明在市区驾驶比较多;在非工作日状态下,存在超速行驶现象严重,有主动违章的驾驶行为习惯,而且在高速行车变化车道时,有不开启转向灯或者压线行驶情况多的习惯,这样存在潜在的碰撞危险。

4结论

决策树作为数据挖掘的一个常用工具,有便于理解的分类规则和高准确率,深受数据分析者的喜爱。本文通过收集车载设备的个人驾驶行为数据,对数据进行预处理以确认数据质量,从中提取有价值的行车特征,并运用C4.5算法建立了决策树知识学习模型,采用后剪枝法简化了决策树的大小,提高了决策树的可读性,并验证了模型的准确率。此模型可以用来帮助驾驶员避免或减少日常交通事故的产生,同时探索诱导交通事故发生的影响因素,降低不良驾驶行为造成的潜在危害性,为交通安全提供保障。它将有助于发现驾驶员在驾驶过程中可能出现的错误操作,进而改善驾驶者的驾驶行为习惯,同时给出较为合理的驾驶方案,以提高交通运输效率,减少交通事故的发生。

猜你喜欢

剪枝决策树增益
人到晚年宜“剪枝”
基于增益调度与光滑切换的倾转旋翼机最优控制
基于YOLOv4-Tiny模型剪枝算法
基于单片机的程控增益放大器设计
一种针对不均衡数据集的SVM决策树算法
基于Multisim10和AD603的程控增益放大器仿真研究
决策树和随机森林方法在管理决策中的应用
剪枝
基于决策树的出租车乘客出行目的识别
基于肺癌CT的决策树模型在肺癌诊断中的应用