摘要:針對目前已有的貨運(yùn)車輛定位數(shù)據(jù),提出了采用隨機(jī)森林算法對數(shù)據(jù)進(jìn)行分析和挖掘的方法,根據(jù)速度、方向、時間、經(jīng)緯度等定位數(shù)據(jù)指標(biāo),分析判斷駕駛員是否超速、是否疲勞駕駛,是否有定位漂移現(xiàn)象等不規(guī)范駕駛行為的存在,以及不規(guī)范程度,最后得出“安全”“一般”“危險”三種分析結(jié)果。經(jīng)多次實驗,該方法能夠達(dá)到很好的分析效果。根據(jù)分析結(jié)果,駕駛員和企業(yè)相關(guān)部門可以進(jìn)行相應(yīng)的處理,以達(dá)到車輛正常、安全行駛的目的。關(guān)鍵詞:隨機(jī)森林;決策樹;車輛定位;行為分析
中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2019)35-0204-03
1 概述
近年來,汽車已經(jīng)成為我們?nèi)粘3鲂斜夭豢缮俚慕煌üぞ?。隨著汽車保有量的不斷增加,對車輛的定位監(jiān)管也成為當(dāng)下的一個趨勢。尤其是對于國家規(guī)定的道路運(yùn)輸車輛,必須安裝、使用具有行駛記錄功能的衛(wèi)星定位裝置,道路運(yùn)輸企業(yè)必須使用車輛定位監(jiān)控系統(tǒng)對其監(jiān)管的車輛進(jìn)行實時定位監(jiān)控,確保車輛正常、安全行駛。
在使用車輛定位監(jiān)控系統(tǒng)對貨運(yùn)車輛進(jìn)行定位監(jiān)控的過程中,發(fā)現(xiàn)有很多駕駛員不規(guī)范駕駛導(dǎo)致車輛出現(xiàn)行使軌跡異常的現(xiàn)象。比如超速行駛、疲勞駕駛、車輛行駛軌跡不完整,以及出現(xiàn)位置漂移的現(xiàn)象較為嚴(yán)重。其中的原因包括人為因素和自然因素兩個方面,自然因素方面主要是因為北斗衛(wèi)星導(dǎo)航系統(tǒng)尚處于完善階段,加上大氣折射、樓房建筑的遮擋都可能會使定位精度出現(xiàn)偏差。另一方面,《中華人民共和國道路交通安全法實施條例》第六十二條規(guī)定,“駕駛機(jī)動車不得有下列行為:連續(xù)駕駛機(jī)動車超過4小時未停車休息或者停車休息時間少于20分鐘[1]?!庇捎谪涍\(yùn)物流行業(yè)需要時效性,需要提高運(yùn)輸效率,所以駕駛員有時會將車載定位終端關(guān)閉,逃避監(jiān)管,連續(xù)駕駛超過4小時甚至達(dá)到10小時也都是很常見的事,因此出現(xiàn)超速行駛、疲勞駕駛和軌跡漂移等現(xiàn)象。
為了提高車輛行駛的安全性,本研究提出了基于隨機(jī)森林算法對車輛定位數(shù)據(jù)進(jìn)行分析研究的方法,深度挖掘駕駛員的不良駕駛行為,將定位數(shù)據(jù)形成駕駛行為分析報告,并及時反饋給車輛駕駛員和車隊企業(yè)相關(guān)部門,進(jìn)行調(diào)查分析和批評教育等措施。本研究所提到的車輛均為道路貨運(yùn)車輛,已有的數(shù)據(jù)也是貨運(yùn)車輛的定位數(shù)據(jù),包括歷史數(shù)據(jù)和實時數(shù)據(jù)。主要的研究因素包括速度、方向、時間、經(jīng)緯度等,通過對駕駛行為的多個特征屬性進(jìn)行度量,并且創(chuàng)建多個決策樹,最終形成隨機(jī)森林。根據(jù)分析結(jié)果,得出是否超速、是否疲勞駕駛等不規(guī)范駕駛行為信息,以及是否存在位置漂移現(xiàn)象等信息。通過對決策樹的投票統(tǒng)計分析,將車輛駕駛員的駕駛行為進(jìn)行分類,根據(jù)隨機(jī)森林分類統(tǒng)計,將駕駛行為歸類為“安全”“一般”和“危險”三種結(jié)果中的一個。經(jīng)多次實驗研究,該方法能達(dá)到很好的分析效果。
2 隨機(jī)森林
2.1隨機(jī)森林原理
隨機(jī)森林(Random Forest)是機(jī)器學(xué)習(xí)算法中的一種有監(jiān)督學(xué)習(xí)算法,顧名思義,它是由許多決策樹構(gòu)成的森林,并且該森林擁有某種方式的隨機(jī)性[2]。該算法是為了解決單一決策樹可能出現(xiàn)較大誤差和過擬合的問題。隨機(jī)森林中的每一棵決策樹都是沒有關(guān)聯(lián)的,這樣能夠降低單一決策樹可能產(chǎn)生的片面性和判斷的不準(zhǔn)確性[3]。在構(gòu)造隨機(jī)森林之后,每當(dāng)有一個新的樣本進(jìn)入隨機(jī)森林中,森林中的每一棵決策樹都進(jìn)行判斷,并將該樣本進(jìn)行分類,最后統(tǒng)計分析哪一類被選擇的次數(shù)最多,將被選擇次數(shù)最多的結(jié)果作為隨機(jī)森林最終的結(jié)果。 隨機(jī)森林采用Bagging算法,是在Bagging的基礎(chǔ)上改進(jìn)而來的,它的基學(xué)習(xí)器是CART決策樹[4]。隨機(jī)森林將決策樹作為Bagging中的模型,采用有放回的隨機(jī)取樣的方法生成多個訓(xùn)練集,對每個訓(xùn)練集分別構(gòu)造一棵決策樹,在進(jìn)行節(jié)點(diǎn)切分的時候,并不是對所有的特征選擇最優(yōu)的進(jìn)行切分,而是隨機(jī)地選取n個特征,從這n個特征中選擇最優(yōu)的特征進(jìn)行節(jié)點(diǎn)切分,從而進(jìn)一步降低了模型的方差,可以避免出現(xiàn)過擬合的情況[5]。
2.2隨機(jī)森林算法描述
1)設(shè)訓(xùn)練總樣本的個數(shù)為N,每棵決策樹采用bootstrap采樣方法,從這N個訓(xùn)練集中有放回的隨機(jī)抽取n個樣本作為該決策樹的訓(xùn)練樣本。
2)設(shè)訓(xùn)練樣本集中的特征的個數(shù)為M,在決策樹的節(jié)點(diǎn)進(jìn)行切分時,在M個特征中隨機(jī)的選擇m個特征,然后從m個特征中選擇一個最優(yōu)的特征的進(jìn)行切分。m越小模型方差也越小,但是偏差會越大,需要通過交叉驗證的方式進(jìn)行調(diào)參優(yōu)化。
3)每棵決策樹的節(jié)點(diǎn)不斷地進(jìn)行切分,直到該節(jié)點(diǎn)的所有訓(xùn)練樣本都屬于同一類,不用再對節(jié)點(diǎn)進(jìn)行剪枝。由于決策樹采樣的過程是具有隨機(jī)性的,所以幾乎不會出現(xiàn)過擬合的情況。
4)最后對分類結(jié)果進(jìn)行統(tǒng)計,將投票最多的分類結(jié)果作為整個隨機(jī)森林的分類結(jié)果。
3 隨機(jī)森林駕駛行為算法分析
結(jié)合機(jī)器學(xué)習(xí)相關(guān)思想,本文提出了一種基于隨機(jī)森林的車輛駕駛員的駕駛行為分析方法,步驟如下:
1)將北斗車輛定位數(shù)據(jù)集通過bootstrap方法有放回地重復(fù)隨機(jī)抽取樣本生成訓(xùn)練樣本集合。
2)采用C4.5算法構(gòu)建決策樹,對決策樹的分裂屬性進(jìn)行選擇。
相關(guān)算法定義及公式如下所示:
1)設(shè)D是訓(xùn)練樣本集,類別屬性具有m個不同的值,則有m個不同類Ci=1,2,…,m),Di是Ci的樣本集合,則信息熵的計算公式為:
決策樹的構(gòu)造流程如下:設(shè)訓(xùn)練樣本集為D,D中的屬性為速度、方向和時間,屬性集為A,A中的屬性為0、1、2,表示安全、一般和危險。
1)創(chuàng)建節(jié)點(diǎn)N;
2)如果D都在同一個類C中,則返回N作為葉節(jié)點(diǎn),用類C標(biāo)記;
3)如果A為空,則返回Ⅳ作為葉節(jié)點(diǎn),標(biāo)記D為樣本樹種最多的類;
4)如果是通過增益率選取最佳屬性,則將a0標(biāo)記為N,并在屬性集中去掉a0;
5)N根據(jù)a0的值劃分成不同的子集Ds。如果Ds為空的話,則將N標(biāo)記為葉節(jié)點(diǎn),標(biāo)記D為樣本樹種最多的類;如果Ds不為空,在子集Ds和剔除了a0的新的屬性集Aa0中再選出最佳屬性a1,標(biāo)記為新的節(jié)點(diǎn)N,并在屬性集中剔除a1;
6)重復(fù)執(zhí)行以上步驟n次,會生成n棵決策樹,最終形成隨機(jī)森林。經(jīng)過每棵決策樹對測試數(shù)據(jù)的決策投票,分析判斷最終得出決策分類結(jié)果。
4 實驗研究
本研究根據(jù)已有的車輛監(jiān)控平臺,平臺目前有1300多輛貨運(yùn)車輛,選取2018至2019最近兩年將近95萬條車輛定位數(shù)據(jù),本文只篩選出2019年5月份的車輛數(shù)據(jù),從中選出10輛車輛,采用隨機(jī)森林算法,以速度、方向、時間作為特征屬性,提出駕駛?cè)说鸟{駛行為分析方法研究,判斷出該車駕駛員的駕駛行為屬于安全、一般或是危險類別中的一個。
4.1實驗環(huán)境
4.2數(shù)據(jù)集
4.2.1訓(xùn)練集數(shù)據(jù)
原始定位數(shù)據(jù)集是通過車載終端獲取得到的,終端每30秒傳輸一次定位數(shù)據(jù),數(shù)據(jù)包括車牌號、速度、方向、時間、經(jīng)度、緯度等等,本文只選取以上幾個屬性進(jìn)行研究,并加上分類屬性,“0”表示“安全”“1”表示“一般”“2”表示“危險”。訓(xùn)練集樣本示例如下表所示:
4.2.2測試集數(shù)據(jù)
測試集數(shù)據(jù)是車輛定位原始數(shù)據(jù),并經(jīng)過進(jìn)一步數(shù)據(jù)清洗,過濾空數(shù)據(jù)和無用數(shù)據(jù)之后篩選出來的。無論是對歷史數(shù)據(jù)進(jìn)行分析還是實時數(shù)據(jù),都需要對原始數(shù)據(jù)進(jìn)行操作,因此測試集也是原始數(shù)據(jù)。測試集樣本示例如下表所示:
4.3實驗結(jié)果分析
本實驗使用PyCharm開發(fā)工具,調(diào)用sklearn中的Random-ForestClassifier方法完成隨機(jī)森林算法對駕駛行為的分析。在實驗過程中,有兩點(diǎn)需要特別注意,第一個是樣本數(shù)據(jù)集的劃分,將數(shù)據(jù)集分為訓(xùn)練集和測試集兩部分,訓(xùn)練集所占總體數(shù)據(jù)集的比例不同,預(yù)測的精確度也不同。將訓(xùn)練集占總體數(shù)據(jù)集的比例作為分離比,根據(jù)大量的現(xiàn)代統(tǒng)計學(xué)試驗驗證,當(dāng)分離比為70%左右時,生成的隨機(jī)森林模型的性能最好,精確度最高[6]。在本實驗中,設(shè)置不同的數(shù)據(jù)集分離比,根據(jù)下圖所示,當(dāng)分離比為72%時精確度最高,最高精確度可達(dá)85%左右。訓(xùn)練集分離比與模型精確度關(guān)系圖如下圖所示:
第二點(diǎn)是決策樹數(shù)量的選擇,在隨機(jī)森林中,決策樹的數(shù)量會影響隨機(jī)森林模型預(yù)測的精準(zhǔn)度。在本研究過程中,決策樹的棵數(shù)從0開始,每次增加50棵樹,從下圖可以看出,當(dāng)隨機(jī)森林模型中決策樹較少時,模型整體精準(zhǔn)度會隨著決策樹數(shù)目的增加而提高,當(dāng)決策樹達(dá)到500棵時,模型的精準(zhǔn)度變化較小,繼續(xù)增加決策樹數(shù)目,模型的精準(zhǔn)度不會有所提高,反而會增加模型的復(fù)雜性和計算量,致使模型效率降低。隨機(jī)森林中決策樹的數(shù)目與模型精確度關(guān)系如下圖所示:
綜上,本實驗采用總體樣本集的72%作為訓(xùn)練集,剩下的28%作為實驗測試集,并且隨機(jī)森林中決策樹的數(shù)目選擇為500,實驗選取50輛車一天的行駛定位數(shù)據(jù),將分類結(jié)果與根據(jù)實際情況對比,實際分類準(zhǔn)確率可達(dá)92%左右,實驗結(jié)果如下表所示:
5 結(jié)束語
隨機(jī)森林算法是目前常用的機(jī)器學(xué)習(xí)算法之一,能夠處理高維特征,模型訓(xùn)練速度比較快,對數(shù)據(jù)的適應(yīng)能力強(qiáng),既能處理離散型數(shù)據(jù)也能處理連續(xù)型數(shù)據(jù),數(shù)據(jù)集無須規(guī)范化。與決策樹相比,雖然計算速度比單個決策樹慢,但是具有更高的預(yù)測準(zhǔn)確率,對異常值和噪聲有很好的容忍度,不容易產(chǎn)生過擬合的情況。本研究通過北斗車輛定位數(shù)據(jù),對數(shù)據(jù)進(jìn)行篩選,建立決策樹,構(gòu)造駕駛行為隨機(jī)森林模型,最后用Python語言實現(xiàn)隨機(jī)森林算法,并驗證了模型的準(zhǔn)確率。該算法不僅適用于歷史軌跡數(shù)據(jù),也可以應(yīng)用于實時數(shù)據(jù)預(yù)測中,根據(jù)駕駛員實時定位數(shù)據(jù),及時做到不良駕駛行為的預(yù)測,提示駕駛員或者相關(guān)管理部門進(jìn)行監(jiān)管,已達(dá)到提高駕駛安全性的目的。
參考文獻(xiàn):
[1]中華人民共和國道路交通安全法實施條例.中華人民共和國道路交通安全法實施條例[J].司法業(yè)務(wù)文選,2004(21):4-10.
[2]黃亮,董智浩,張銳明.基于隨機(jī)森林的駕駛行為分析[J].無線互聯(lián)科技,2018,15(7):72-76.
[3]朱冰,李偉男,汪震,等.基于隨機(jī)森林的駕駛?cè)笋{駛習(xí)性辨識策略[J].汽車工程,2019,41(2):213-218.
[4]余以勝.基于隨機(jī)森林的用戶行為識別模型研究[J].電腦知識與技術(shù),2017,13(3):156-157.
[5]莊明科,白海峰,謝曉非.駕駛?cè)藛T風(fēng)險駕駛行為分析及相關(guān)因素研究[J].北京大學(xué)學(xué)報:自然科學(xué)版,2008,44(3):475-482.
[6]劉凱利,李晉宏.基于決策樹C4.5算法的個人駕駛行為分析[J].軟件,2016,37(6):83-86.
【通聯(lián)編輯:梁書】
收稿日期:2019-10-24
作者簡介:陳東攀-(1994-),男,河南新鄉(xiāng)人,碩士,華北水利水電大學(xué)信息工程學(xué)院,主要研究方向為數(shù)據(jù)分析、人工智能、計算機(jī)技術(shù)等。