劉凱利+李晉宏
摘要:針對(duì)我國(guó)汽車產(chǎn)業(yè)及運(yùn)輸行業(yè)的快速發(fā)展,但交通安全觀念及文明意識(shí)明顯滯后、不規(guī)范駕駛行為多發(fā)的問(wèn)題,利用數(shù)據(jù)挖掘中的決策樹(shù)方法,對(duì)個(gè)人駕駛行為數(shù)據(jù)進(jìn)行預(yù)處理,分析與駕駛行為相關(guān)的主要指標(biāo),然后通過(guò)C4.5算法構(gòu)建了決策樹(shù)知識(shí)學(xué)習(xí)模型,并采用后剪枝法(post-punning)對(duì)其進(jìn)行剪枝,最后利用建立的模型對(duì)測(cè)試數(shù)據(jù)集進(jìn)行評(píng)估。研究結(jié)果表明:該決策樹(shù)模型有較高的準(zhǔn)確性,為個(gè)人駕駛行為分析提供了可行性依據(jù)。
關(guān)鍵詞:交通安全;駕駛行為;決策樹(shù);C4.5算法;后剪枝法
引言
根據(jù)相關(guān)數(shù)據(jù)顯示,我國(guó)2014年底機(jī)動(dòng)車駕駛?cè)藬?shù)量突破歷史性的3億人,機(jī)動(dòng)車的使用數(shù)量及駕駛?cè)藬?shù),使得我國(guó)面臨更為嚴(yán)峻的交通安全形勢(shì)。2014年,我國(guó)交通事故死亡人數(shù)為34292.34人,比2013年的死亡31604.3人增加了2688.04人,增長(zhǎng)率為8.5%;相比2012年的死亡30222.5人,增加了4069.84人,增長(zhǎng)率為13.46%;美國(guó)公路運(yùn)輸安全管理局(National Highway Traffic Safety Admini-stration:HTSA)曾在2009年調(diào)查發(fā)現(xiàn),由于酒后駕駛行為導(dǎo)致的死亡人數(shù)為10839,為交通事故總死亡人數(shù)的32%;澳大利亞MONASH大學(xué)事故研究中心的研究報(bào)告表明,接近25%的道路交通事故是由于駕駛員的分心??梢?jiàn),不當(dāng)?shù)鸟{駛行為是近些年來(lái)誘發(fā)交通事故的主要原因,對(duì)駕駛行為的分析與研究變得尤為重要。
此外,隨著國(guó)民經(jīng)濟(jì)的快速增長(zhǎng),運(yùn)輸企業(yè)和租車公司急速擴(kuò)張,而如何降低車隊(duì)運(yùn)營(yíng)成本,加強(qiáng)對(duì)駕駛員的行為管理成為關(guān)鍵問(wèn)題。比如以色列的Traffilog管理系統(tǒng),通過(guò)記錄司機(jī)的多種不良駕駛行為,譬如超速、過(guò)程怠速、急剎車、急加速、超轉(zhuǎn)行駛、停車立即熄火、低油量行駛、冷卻系統(tǒng)異常、停車狀態(tài)踩油門(mén)、長(zhǎng)時(shí)間剎車、長(zhǎng)時(shí)間離合、粘離合、發(fā)動(dòng)機(jī)異常熄火等信息,有意識(shí)提醒并改善司機(jī)的駕駛行為情況;國(guó)內(nèi)最早是蘇州金龍于2011年推出GBOS智慧運(yùn)營(yíng)系統(tǒng),后來(lái)該系統(tǒng)的管理理念又被復(fù)制到了卡車行業(yè),陜汽順勢(shì)在2013年推出“天行健車聯(lián)網(wǎng)系統(tǒng)”,為汽車經(jīng)銷商、個(gè)體車主及運(yùn)輸公司提供車貸管理服務(wù)、駕駛員行為分析服務(wù)、車輛常規(guī)監(jiān)控服務(wù)、油耗節(jié)能服務(wù)等。
由于后天的實(shí)際車路況不同、交通監(jiān)控設(shè)施不到位、違章成本低等諸多因素,大多數(shù)駕駛員會(huì)或多或少養(yǎng)成一些不良駕駛行為,譬如超速行為、減速行為、加速行為等,這些駕駛行為的確會(huì)影響車輛油耗、車輛使用壽命及車輛安全隱患。然而駕駛員的駕駛行為除了與路況環(huán)境相關(guān)外,與駕齡、行車時(shí)間、車速、是否工作日等信息也息息相關(guān),本文通過(guò)分析這些影響駕駛行為的因素,判斷其與不良駕駛行為之間的關(guān)系,運(yùn)用決策樹(shù)C4.5算法以期對(duì)駕駛行為分類,改善不良駕駛習(xí)慣,提高交通安全意識(shí)。
1決策樹(shù)基本概念
決策樹(shù)是一種簡(jiǎn)單但是廣泛使用的分類器,由內(nèi)部節(jié)點(diǎn),葉子節(jié)點(diǎn)以及分支構(gòu)成。其中,內(nèi)部節(jié)點(diǎn)表示在一個(gè)屬性上的測(cè)試,分支代表測(cè)試的輸出,葉子節(jié)點(diǎn)表示類別分布。樹(shù)中每一個(gè)非葉節(jié)點(diǎn)對(duì)應(yīng)著一個(gè)非類別屬性,分支代表這個(gè)屬性的值,而根節(jié)點(diǎn)到葉子節(jié)點(diǎn)之間的路徑則形成一條分類規(guī)則。決策樹(shù)可以很方便地轉(zhuǎn)化為分類規(guī)則,是一種直觀的分類模式表現(xiàn)形式。
ID3以及C4.5算法是最典型的決策樹(shù)算法,其中ID3是1986年由Quinlan提出的最著名的決策樹(shù)算法,運(yùn)用信息熵理論,選擇當(dāng)前樣本集中最大信息增益的屬性值作為測(cè)試屬性,樣本集的劃分則依據(jù)測(cè)試屬性的值進(jìn)行,測(cè)試屬性有多少不同取值就將樣本集劃分為多少子樣本集。ID3算法簡(jiǎn)單、快速但要求屬性離散,而C4.5算法可以處理連續(xù)的屬性值,它選擇具有最大增益比例的屬性作為劃分樣本集的屬性。
2數(shù)據(jù)采集與預(yù)處理
本文所使用的數(shù)據(jù)來(lái)源于某車禍預(yù)防系統(tǒng),此系統(tǒng)現(xiàn)已經(jīng)安裝在租車公司的運(yùn)營(yíng)車輛上面,可以記錄駕駛員的性別、年齡、工齡、數(shù)據(jù)上傳時(shí)間、車速以及告警類型等信息,并通過(guò)網(wǎng)絡(luò)傳輸?shù)胶笈_(tái)數(shù)據(jù)庫(kù),進(jìn)而獲取個(gè)人駕駛行為數(shù)據(jù)。
然而,隨著數(shù)據(jù)庫(kù)中數(shù)據(jù)的快速增長(zhǎng),決策樹(shù)的生成速度和準(zhǔn)確性的評(píng)估將會(huì)明顯變慢,并最終可能超過(guò)硬件的承載能力,因而通常的做法是對(duì)業(yè)務(wù)數(shù)據(jù)源進(jìn)行抽樣,選取出一個(gè)大小適中并盡可能地包含有全部業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)集樣本。本文采集共計(jì)4543條數(shù)據(jù),并采用保持法隨機(jī)將此數(shù)據(jù)的2/3作為訓(xùn)練數(shù)據(jù),其余的1/3作為測(cè)試數(shù)據(jù)。數(shù)據(jù)樣例見(jiàn)表1。
這些駕駛數(shù)據(jù)中,存在一些重復(fù)和無(wú)效的數(shù)據(jù)影響駕駛行為的分析,因此在進(jìn)行預(yù)處理時(shí)利用Python語(yǔ)言將這些數(shù)據(jù)從表中刪除,比如:重復(fù)的時(shí)間,持續(xù)的怠速為0狀態(tài)等。此外,由于研究目標(biāo)是針對(duì)個(gè)人的駕駛行為,性別、年齡、工齡這些與輸出變量無(wú)關(guān)的固定變量,應(yīng)將其刪除。對(duì)連續(xù)型屬性如時(shí)間和車速,經(jīng)過(guò)分析,對(duì)時(shí)間和車速采用離散化處理,并根據(jù)數(shù)據(jù)上傳時(shí)間增加了是否工作日(work day)屬性,其中1代表工作日,0代表非工作日,而時(shí)間主要分析2個(gè)時(shí)間段,0代表早高峰7:00-9:00,1代表晚高峰17:00-19:00,并計(jì)算各個(gè)時(shí)間段內(nèi)的平均車速。告警類型采用每段時(shí)間內(nèi)出現(xiàn)頻率最大(max(pi))的告警類型作為類別結(jié)果,得到的標(biāo)準(zhǔn)化訓(xùn)練樣本見(jiàn)表2。
3 C4.5算法構(gòu)建決策樹(shù)
決策樹(shù)的構(gòu)建主要借鑒分治法的思想,將一個(gè)龐大的、復(fù)雜的分類問(wèn)題,逐步轉(zhuǎn)化為若干個(gè)簡(jiǎn)單的、規(guī)模更小的分類問(wèn)題,自上而下地遞歸建立分類器模型。C4.5算法的核心是通過(guò)采用信息增益比例的方式來(lái)選擇能夠?qū)颖痉诸惖淖罴褜傩?,而增益比例存在的?wèn)題是:傾向于選擇分割不均勻的分裂方法,即若一個(gè)節(jié)點(diǎn)拆分為兩個(gè)節(jié)點(diǎn),其中一個(gè)節(jié)點(diǎn)屬性取值特別多,另一個(gè)節(jié)點(diǎn)取值特別少時(shí),這種拆分有利于被選擇。為了克服此問(wèn)題,需要對(duì)C4.5算法進(jìn)行改進(jìn),采取的具體解決方案如下:首先利用信息增益概念,計(jì)算每一個(gè)屬性劃分的信息增益,獲得平均信息增益;選出信息增益大于平均值的所有屬性集合,對(duì)該集合計(jì)算增益比例,選擇其中增益比例最大的屬性進(jìn)行決策樹(shù)分裂。
3.1信息增益率的計(jì)算
定義1設(shè)D是訓(xùn)練樣本集,類別屬性具有m個(gè)不同的值,即有m個(gè)不同類Ci(i=1,2,…,m),Dj是隸屬Ci類的樣本集合,則信息熵的計(jì)算公式為:
3.2決策樹(shù)生成與剪枝
本文使用Python語(yǔ)言進(jìn)行計(jì)算信息熵、C4.5算法劃分?jǐn)?shù)據(jù)集遞歸構(gòu)建了決策樹(shù),同時(shí)為了避免決策樹(shù)過(guò)擬合(Overfitting)樣本,即隨著決策樹(shù)節(jié)點(diǎn)個(gè)數(shù)的增加,決策樹(shù)在訓(xùn)練樣例集上的準(zhǔn)確度不斷提升,但在測(cè)試集上的準(zhǔn)確度卻逐漸降低,需要對(duì)得到的初始決策樹(shù)進(jìn)行除噪和分支異常處理,并采用后剪枝法(post-punning)對(duì)其進(jìn)行剪枝。
決策樹(shù)構(gòu)造過(guò)程中,修剪方法有兩種:預(yù)剪枝法和后剪枝法,其中預(yù)剪枝法是指在構(gòu)造節(jié)點(diǎn)時(shí),若節(jié)點(diǎn)的信息增益小于0.1%,則舍棄;或者構(gòu)造節(jié)點(diǎn)時(shí)若節(jié)點(diǎn)下的記錄數(shù)在所有記錄數(shù)中的比例小于0.2%,則停止其子樹(shù)的生長(zhǎng);構(gòu)造節(jié)點(diǎn)時(shí)如果沒(méi)有屬性可以用于對(duì)數(shù)據(jù)進(jìn)行分割,則停止該子樹(shù)的生長(zhǎng)。后剪枝法則采用期望錯(cuò)誤率最小原則,即對(duì)樹(shù)中的內(nèi)部節(jié)點(diǎn)計(jì)算其剪枝/不剪枝可能出現(xiàn)的期望錯(cuò)誤率,如果剪去該節(jié)點(diǎn)導(dǎo)致較高的期望錯(cuò)誤率,則保留該子樹(shù),否則剪掉該子樹(shù),最后得到具有最小期望錯(cuò)誤率的決策樹(shù)。其生成的決策樹(shù)如圖1所示。
3.3模型評(píng)估及分析
使用生成的決策樹(shù)模型對(duì)測(cè)試數(shù)據(jù)集進(jìn)行評(píng)估,參與測(cè)試的樣本數(shù)據(jù)集有1400個(gè),占整個(gè)數(shù)據(jù)集的1/3。為了評(píng)估此模型的準(zhǔn)確性,可以利用測(cè)試數(shù)據(jù)集中的數(shù)據(jù)進(jìn)行預(yù)測(cè),并比較測(cè)試結(jié)果與實(shí)際情況的吻合程度。其準(zhǔn)確率公式如下:
利用決策樹(shù)模型得到的檢驗(yàn)結(jié)果見(jiàn)表3。
通過(guò)對(duì)數(shù)據(jù)集的測(cè)試與評(píng)估可以看出,總體平均識(shí)別率達(dá)到89.41%,檢測(cè)結(jié)果表明運(yùn)用C4.5算法學(xué)習(xí)到的模型對(duì)未來(lái)數(shù)據(jù)樣本的分類預(yù)測(cè)可以達(dá)到基本要求。
最終生成的決策樹(shù)模型是以IF-THEN形式形成的分類規(guī)則集合,從根節(jié)點(diǎn)到葉子節(jié)點(diǎn)的每條路徑構(gòu)成一條規(guī)則,路徑內(nèi)部節(jié)點(diǎn)的特征對(duì)應(yīng)規(guī)則的條件,葉子節(jié)點(diǎn)的類則對(duì)應(yīng)規(guī)則的結(jié)論。
從生成的決策樹(shù)可以看出:作為根節(jié)點(diǎn)的平均車速屬性是所有樣本中信息量最大的屬性,即駕駛?cè)说钠骄囁賹?duì)告警類型的產(chǎn)生影響較為顯著,而告警類型是即將發(fā)生危險(xiǎn)時(shí),車禍預(yù)防系統(tǒng)以圖像和聲音的形式對(duì)駕駛者的直接提醒,說(shuō)明車速與日常交通事故的發(fā)生有著密不可分的關(guān)系。此外,結(jié)合對(duì)平均每小時(shí)報(bào)警數(shù)(報(bào)警數(shù)/駕駛時(shí)長(zhǎng))的統(tǒng)計(jì),如果單位時(shí)間內(nèi)告警數(shù)量有明顯下降,說(shuō)明駕駛員對(duì)警示提醒有了重視,這有助于駕駛員形成良好的駕駛習(xí)慣,形成良好的駕駛行為;同時(shí)發(fā)現(xiàn)在早高峰和晚高峰時(shí)期,多次發(fā)生城市碰撞,說(shuō)明在市區(qū)駕駛比較多;在非工作日狀態(tài)下,存在超速行駛現(xiàn)象嚴(yán)重,有主動(dòng)違章的駕駛行為習(xí)慣,而且在高速行車變化車道時(shí),有不開(kāi)啟轉(zhuǎn)向燈或者壓線行駛情況多的習(xí)慣,這樣存在潛在的碰撞危險(xiǎn)。
4結(jié)論
決策樹(shù)作為數(shù)據(jù)挖掘的一個(gè)常用工具,有便于理解的分類規(guī)則和高準(zhǔn)確率,深受數(shù)據(jù)分析者的喜愛(ài)。本文通過(guò)收集車載設(shè)備的個(gè)人駕駛行為數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行預(yù)處理以確認(rèn)數(shù)據(jù)質(zhì)量,從中提取有價(jià)值的行車特征,并運(yùn)用C4.5算法建立了決策樹(shù)知識(shí)學(xué)習(xí)模型,采用后剪枝法簡(jiǎn)化了決策樹(shù)的大小,提高了決策樹(shù)的可讀性,并驗(yàn)證了模型的準(zhǔn)確率。此模型可以用來(lái)幫助駕駛員避免或減少日常交通事故的產(chǎn)生,同時(shí)探索誘導(dǎo)交通事故發(fā)生的影響因素,降低不良駕駛行為造成的潛在危害性,為交通安全提供保障。它將有助于發(fā)現(xiàn)駕駛員在駕駛過(guò)程中可能出現(xiàn)的錯(cuò)誤操作,進(jìn)而改善駕駛者的駕駛行為習(xí)慣,同時(shí)給出較為合理的駕駛方案,以提高交通運(yùn)輸效率,減少交通事故的發(fā)生。