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