999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于機(jī)器學(xué)習(xí)的交通數(shù)據(jù)分析與應(yīng)用

2018-12-31 00:00:00張騰林貴敏邱立達(dá)劉超明韋玉婧
現(xiàn)代信息科技 2018年12期

摘 要:對(duì)海量交通數(shù)據(jù)進(jìn)行分析,可為實(shí)現(xiàn)智能交通調(diào)度提供一定的參考依據(jù),并為進(jìn)行相關(guān)可行性分析提供有效支撐。本文利用Python和Pandas數(shù)據(jù)處理模塊,對(duì)成都市1.4+萬輛出租車的GPS記錄進(jìn)行分析處理。借助于機(jī)器學(xué)習(xí)中的回歸算法,實(shí)現(xiàn)對(duì)某出租車在某時(shí)段行駛于某條線路所需時(shí)間的預(yù)測,并通過網(wǎng)頁交互的形式,為用戶提供出租車及出行路線推薦方案。

關(guān)鍵詞:數(shù)據(jù)挖掘;機(jī)器學(xué)習(xí);路線推薦;智能交通

中圖分類號(hào):U491.14;TP181 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2018)12-0016-03

Traffic Data Analysis and Application Based on Machine Learning

ZHANG Teng,LIN Guimin,QIU Lida,LIU Chaoming,WEI Yujing

(College of Physics and Electronic Information Engineering,F(xiàn)uzhou 350108,China)

Abstract:Analysis of massive traffic data provides a convenient reference for modern traffic scheduling and feasibility prediction,and provide effective support for relevant feasibility analysis. This article uses the Python and Pandas module to deal with the GPS records of more than 14 thousand taxis in Chengdu. Through the regression prediction via machine learning,the forecasting of required time for a taxi to travel on a certain period of time is realized. Finally,the recommendation of travel routes and taxis for users through a web page is provided.

Keywords:data miming;machine learning;routes recommendation;intelligent transportation

0 引 言

城市化的發(fā)展以及機(jī)動(dòng)車數(shù)量的增加,在給人們的生產(chǎn)生活帶來便利的同時(shí),也造成了交通擁堵等負(fù)面影響。在智能手機(jī)高度普及的當(dāng)下,借助各種手機(jī)App,人們的出行更具有計(jì)劃性。通過向手機(jī)地圖App提供當(dāng)前位置信息以及目的地位置信息,它就會(huì)給你推薦各種出行方案,對(duì)于不同的交通工具,也會(huì)優(yōu)先給你推送耗時(shí)最短的行程規(guī)劃[1]。這種相對(duì)專業(yè)并且可靠的出行方案對(duì)于不經(jīng)常出門的人來說非常實(shí)用,只要明確了目的地就能提前定制并且規(guī)劃自己的出行方案,防止類似耽誤航班、約會(huì)遲到這樣的事情發(fā)生。這類能夠提供行程推薦服務(wù)的地圖App的核心技術(shù)就是一個(gè)完整的推薦系統(tǒng),保證推薦系統(tǒng)的實(shí)時(shí)性,才能在有效時(shí)間內(nèi)為用戶提供推薦服務(wù)。一個(gè)推薦系統(tǒng)要依托于它所使用的推薦算法,而要保證推薦算法的可靠性,就需要大量采集并記錄實(shí)際生活中的數(shù)據(jù),以此來訓(xùn)練出一個(gè)健壯的算法模型。從本質(zhì)上來說一個(gè)地圖App實(shí)現(xiàn)行程推薦服務(wù)依靠于對(duì)交通數(shù)據(jù)進(jìn)行采集分析,并依據(jù)公交、高鐵這種有固定班次的交通工具的時(shí)刻表或者在合理范圍內(nèi)推斷交通狀況,利用推薦算法對(duì)參數(shù)進(jìn)行處理,從而預(yù)測道路的通達(dá)時(shí)間。

要想設(shè)計(jì)并制作這樣一款產(chǎn)品,需要從數(shù)據(jù)處理開始,使用處理后的數(shù)據(jù)來訓(xùn)練,生成預(yù)測模型,再通過這個(gè)模型進(jìn)行預(yù)測,這樣就完成了推薦系統(tǒng)的核心部分。數(shù)據(jù)的選擇,最好是數(shù)據(jù)量大并且能提供較多實(shí)用信息的車輛行車記錄。GPS數(shù)據(jù)是研究道路問題,分析道路狀況的一種非常實(shí)用的數(shù)據(jù)。由于GPS數(shù)據(jù)是對(duì)交通數(shù)據(jù)的實(shí)時(shí)性記錄,采集得到數(shù)據(jù)集記錄量多,因此必須對(duì)其進(jìn)行預(yù)處理。預(yù)處理在于提取有用的數(shù)據(jù),例如經(jīng)緯度位置記錄、時(shí)間點(diǎn)距離,然后統(tǒng)計(jì)整理提取到數(shù)據(jù),以此為基礎(chǔ)計(jì)算出其他數(shù)據(jù),例如行駛路程、行駛速度。通過這樣的處理就能把一條條GPS數(shù)據(jù)轉(zhuǎn)化成我們進(jìn)行基本測算所使用的距離,平均速度,從而計(jì)算出通過某條路線所需大致時(shí)間。對(duì)于同種交通工具的不同狀態(tài),使用回歸預(yù)測(Regression Analysis Prediction Method)來生成預(yù)測模式用以進(jìn)行道路通達(dá)時(shí)間預(yù)測比較合適[2]。

設(shè)計(jì)一個(gè)基于GPS數(shù)據(jù)的推薦系統(tǒng)需要明確,從GPS數(shù)據(jù)的處理,到回歸模型的創(chuàng)建,再到推薦系統(tǒng)的實(shí)現(xiàn),是一個(gè)自下而上的過程。雖然本次設(shè)計(jì)的網(wǎng)頁應(yīng)用展示部分相對(duì)簡潔直觀,但是推薦算法的生成——回歸模型的創(chuàng)建才是項(xiàng)目最核心的部分,正如蓋樓需要先打好根基。從繁多冗余的信息中提煉出有用的信息,并“烹飪”這些信息,將最終生成的結(jié)果直觀地展現(xiàn)出來,推送給用戶,才是一個(gè)推薦系統(tǒng)的價(jià)值所在。

1 交通數(shù)據(jù)分析模型設(shè)計(jì)

設(shè)計(jì)主要包括了訓(xùn)練集處理模塊,預(yù)測集處理模塊,回歸預(yù)測模塊和Web啟動(dòng)模塊,如圖1所示。除了最開始導(dǎo)入的數(shù)據(jù)集外,用于生成回歸模型和推薦結(jié)果的都是模塊生成的csv文件。

(1)訓(xùn)練集處理模塊(train_set.py):用于處理導(dǎo)入的“train+日期.txt”文件,并將生成的數(shù)據(jù)表以csv文件格式保存,生成名為“trainset+日期.csv”的文件。(2)預(yù)測集處理模塊(predict_set.py):用于處理導(dǎo)入的“predPaths_test.txt.”文件,并將生成的數(shù)據(jù)表以csv文件格式保存,生成名為戶“preResult.csv”的文件。(3)回歸預(yù)測模塊(regrPredict.py):導(dǎo)入訓(xùn)練集處理模塊生成的csv文件用于訓(xùn)練模型和預(yù)測評(píng)估,導(dǎo)入預(yù)測集生成的csv文件用于預(yù)測,將生成的結(jié)果命名為“fnresult.csv”存入磁盤。(4)Web啟動(dòng)模塊:導(dǎo)入回歸預(yù)測模型生成的csv文件,根據(jù)網(wǎng)頁提交的數(shù)據(jù)表單數(shù)據(jù)從csv文件中獲取滿足條件的記錄用于推薦和預(yù)測。

1.1 數(shù)據(jù)導(dǎo)入與導(dǎo)出模塊

數(shù)據(jù)表使用for語句進(jìn)行遍歷,并使用isin()方法從數(shù)表中提取出符合條件的GPS記錄,這樣就能以“數(shù)據(jù)塊”的方式來處理數(shù)據(jù),提高效率的同時(shí)還能降低系統(tǒng)內(nèi)存的占用。由于過濾出來的各條GPS記錄在時(shí)間軸上并不是絕對(duì)有序的,所以在處理遍歷結(jié)果之前要先依據(jù)時(shí)間欄(timing)進(jìn)行排序,之后需使用if語句對(duì)記錄進(jìn)行分類處理,即根據(jù)載客狀況的不同,將載客(1)和空載(0)的記錄歸類到一起,再通過一些轉(zhuǎn)化函數(shù)來處理記錄中的數(shù)據(jù)。

從數(shù)據(jù)表中獲取的數(shù)值有些是不能直接使用的,比如時(shí)間“2014/8/3 21:18:46”需要先轉(zhuǎn)化成秒數(shù)才可以參與計(jì)算,GPS記錄之間的距離差也需要通過公式對(duì)經(jīng)緯度數(shù)據(jù)進(jìn)行處理才能計(jì)算出來,而且從數(shù)據(jù)表中獲取的時(shí)間是str類型,需要使用int()函數(shù)轉(zhuǎn)化為整型才能使用。

時(shí)間的處理:通過字符串分割方法split()分割日期和時(shí)間,然后再進(jìn)行一次分割獲取小時(shí)數(shù)、分鐘數(shù)和秒數(shù),最后再通過單位轉(zhuǎn)化算出總秒數(shù)t(單位:s)。

總秒數(shù)t=小時(shí)數(shù)*3600+分鐘數(shù)*60+秒數(shù)(將當(dāng)前記錄時(shí)刻用秒表示,方便計(jì)算時(shí)間間隔)。

經(jīng)緯度處理:將兩個(gè)記錄的經(jīng)緯度傳入距離計(jì)算函數(shù),通過公式計(jì)算出兩點(diǎn)間的球面距離dist(單位:m)。

其中:lat1、lat2分別為兩點(diǎn)的緯度,dlat、dlon為兩點(diǎn)的緯度差和經(jīng)度差,2R=12756274m,R為地球的半徑。

將處理后的數(shù)據(jù)用不同的列表進(jìn)行儲(chǔ)存匯總,最后生成dataframe數(shù)據(jù)框?qū)ο螅⑹褂肞andas中的to_csv方法將這個(gè)數(shù)據(jù)表寫入磁盤中。

1.2 回歸預(yù)測模塊

本設(shè)計(jì)主要想實(shí)現(xiàn)的功能是預(yù)測道路通達(dá)的時(shí)間,給用戶推薦耗時(shí)最短的行車方案,即某天某輛出租車(在此條件下篩選出來的平均行駛速度最快的出租車)在某個(gè)時(shí)間段從A地通過某條路徑到達(dá)B地所需的時(shí)間。同時(shí)GPS記錄中也提供了一些可用來預(yù)測的特征,例如出租車ID、路徑距離(通過記錄點(diǎn)之間的不同的經(jīng)緯度求得)、載客狀態(tài)、時(shí)間點(diǎn)等信息,把這幾個(gè)影響通達(dá)時(shí)間的數(shù)據(jù)當(dāng)成變量,確定幾個(gè)變量之間是否存在相關(guān)關(guān)系,如果存在,則找出它們之間合適的數(shù)學(xué)表達(dá)式——回歸方程。由于各種客觀因素,如果采用線性回歸來訓(xùn)練回歸模型,預(yù)測準(zhǔn)確度(實(shí)時(shí)預(yù)測精度為70%~80%)將差強(qiáng)人意(只有路徑距離這一個(gè)特征符合線性條件),相比之下非線性回歸——邏輯回歸會(huì)是更好的選擇。

我們選取了邏輯回歸作為應(yīng)用的核心算法,實(shí)例化模型:

regr=linear_model.LogisticRegressionCV(

Cs=np.logspace(-2,2,20),cv=2,

fit_intercept=True,multi_class=\"ovr\",

penalty=\"l2\",solver=\"lbfgs\",tol=0.01)

(其中,參數(shù)cv用于交叉驗(yàn)證,multi_classs用于選擇分類方式,sovler用于選擇優(yōu)化算法,tol為計(jì)算閾值,避免過度計(jì)算)

為了對(duì)監(jiān)督性學(xué)習(xí)(特征值已知)進(jìn)行評(píng)估,我們需要把數(shù)據(jù)集切分成訓(xùn)練集和測試集。由上一步驟整理后的訓(xùn)練集按日期分為多個(gè)csv文件,這里就不再對(duì)其進(jìn)行切分,而是選取雙數(shù)日期(4號(hào),6號(hào),8號(hào)等)的數(shù)據(jù)作為訓(xùn)練集,選取單數(shù)日期作為測試集(3號(hào),5號(hào),9號(hào)等)。

回歸模型訓(xùn)練出來后我們需要對(duì)它的可靠性進(jìn)行評(píng)估。本設(shè)計(jì)采用的評(píng)價(jià)標(biāo)準(zhǔn)為平均百分比誤差(mean absolute percentage error),誤差越小,說明回歸預(yù)測的準(zhǔn)確率越高。

1.3 網(wǎng)頁展示模塊

web.py是Python中的一個(gè)輕量級(jí)的Web服務(wù)模塊,可以實(shí)現(xiàn)基本的網(wǎng)頁后端功能,包括路由的配置,網(wǎng)頁模板添加等。通過幾行代碼就能創(chuàng)建的一個(gè)簡單的Web網(wǎng)頁應(yīng)用。通過POST請(qǐng)求獲取用戶提交的表單數(shù)據(jù),提交的數(shù)據(jù)經(jīng)過處理后,使用web.template.render()方法(模板渲染)將它傳入網(wǎng)頁模板,然后就可以通過瀏覽器窗口看到打印出來的數(shù)據(jù)。

為了進(jìn)行預(yù)測我們必須提供參數(shù)給回歸模型,所以用戶在使用時(shí)必須提供位置信息和出發(fā)時(shí)間,對(duì)于時(shí)間處理起來不難,但是僅僅得到位置信息我們是無法使用的。因此借助第三方API我們可以將位置信息轉(zhuǎn)化為經(jīng)緯度信息,然后再通過求距離的函數(shù)求出行車路線的距離,結(jié)合推薦得到的參數(shù)就可以完成行車時(shí)間的預(yù)測。把位置信息轉(zhuǎn)化為經(jīng)緯度的業(yè)務(wù)處理函數(shù):

def getLatLon(str):

data = {

'output': 'json',

'ak': '********************************',

'akcallback': '************'}

data['address'] = str

# 將用于認(rèn)證的’ak’,’akcallback’通過字典封裝傳給url,接入API

get = requests.get(

'http://api.map.baidu.com/geocoder/v2/',

params=data

獲取到的數(shù)據(jù)為json字符串,可以通過json模塊中的loads()函數(shù)將其轉(zhuǎn)化為字典對(duì)象,然后通過key值取出其中的數(shù)據(jù)。

預(yù)測結(jié)果(行車時(shí)間)是通過html直接在網(wǎng)頁中顯示出來的,用戶在輸入完出行信息之后,點(diǎn)擊提交,就會(huì)跳轉(zhuǎn)到顯示結(jié)果的頁面。

2 應(yīng)用展示與評(píng)價(jià)

應(yīng)用的展示部分是本次設(shè)計(jì)的最后階段,這里通過網(wǎng)頁的形式進(jìn)行展示,與GUI應(yīng)用體驗(yàn)效果沒有太大的差距,其能在一定程度上與用戶進(jìn)行交互。設(shè)計(jì)二級(jí)界面,實(shí)現(xiàn)了查詢輸入頁面與查詢結(jié)果顯示頁面之間的跳轉(zhuǎn)。

通過默認(rèn)主機(jī)地址localhost:8080訪問首頁,可看到如圖2所示的界面,讓用戶可以輸入要查詢的信息。查詢之后,系統(tǒng)將返回一個(gè)推薦結(jié)果,如圖3所示。

3 結(jié) 論

本課題“基于GPS信號(hào)的交通線路推薦系統(tǒng)設(shè)計(jì)”是以Python語言為編程工具,使用Pandas數(shù)據(jù)處理模塊,對(duì)成都市1.4+萬輛出租車的GPS信號(hào)記錄進(jìn)行處理,并且通過使用Numpy矩陣處理模塊結(jié)合scikit-learn機(jī)器學(xué)習(xí)模塊中的邏輯回歸算法,實(shí)現(xiàn)對(duì)某出租車在某時(shí)段下行駛某條線路所需時(shí)間的預(yù)測。并通過網(wǎng)頁交互的形式,為用戶提供交通路線推薦,同時(shí)也能夠開發(fā)出一款具有實(shí)際使用價(jià)值的應(yīng)用。

參考文獻(xiàn):

[1] 姜桂艷,常安德,李琦,等.基于出租車GPS數(shù)據(jù)的路段平均速度估計(jì)模型 [J].西南交通大學(xué)學(xué)報(bào),2011,46(4):638-644.

[2] 王志杰,王慶.基于多元回歸分析的坐標(biāo)轉(zhuǎn)換方法研究 [J].工程勘察,2013,41(10):62-65.

作者簡介:張騰(1996-),男,福建福清人,學(xué)士。主要從事光學(xué)、圖像處理;通訊作者:林貴敏(1981-),男,福建泉州人,副教授,碩士。主要從事圖像處理、機(jī)器學(xué)習(xí)研究。

主站蜘蛛池模板: 精品国产美女福到在线不卡f| 精久久久久无码区中文字幕| 国产在线一二三区| 免费A级毛片无码免费视频| 日韩一区精品视频一区二区| 在线一级毛片| 五月六月伊人狠狠丁香网| av一区二区三区高清久久| 国产精品99r8在线观看| 国产熟睡乱子伦视频网站| 欧美成人一级| 毛片久久久| 亚洲美女视频一区| 亚洲成综合人影院在院播放| 青青青国产视频手机| 女人18毛片久久| 欧美性猛交一区二区三区| 国产美女叼嘿视频免费看| 一本久道久综合久久鬼色| 一本一道波多野结衣一区二区 | 日本不卡在线视频| 欧美三级不卡在线观看视频| 亚洲天堂免费在线视频| 国产一区二区网站| 免费视频在线2021入口| 亚洲av成人无码网站在线观看| 国产天天色| 永久毛片在线播| 成人国产免费| 亚洲成肉网| 亚洲人成高清| 国产视频a| 免费国产高清精品一区在线| 国产在线精品美女观看| 香蕉久久国产精品免| 这里只有精品国产| 欧美在线视频不卡第一页| 国产在线日本| 狠狠色丁香婷婷综合| 欧美成人一级| 孕妇高潮太爽了在线观看免费| 九九九国产| 伊人精品视频免费在线| 久久国产成人精品国产成人亚洲| 国产va在线| 97视频免费在线观看| 欧美黑人欧美精品刺激| 亚洲综合色区在线播放2019| 久久无码av一区二区三区| 一区二区欧美日韩高清免费| 热久久这里是精品6免费观看| 久久精品丝袜| 日韩欧美中文字幕在线韩免费| 美女毛片在线| 午夜欧美理论2019理论| 久久免费成人| 欧美一区二区三区不卡免费| 黄色网页在线播放| 亚洲欧美一区二区三区麻豆| 麻豆a级片| 中国一级特黄大片在线观看| 久久亚洲高清国产| 亚洲欧美h| 51国产偷自视频区视频手机观看| 天堂网亚洲系列亚洲系列| 国产不卡网| 国产高清免费午夜在线视频| 亚洲久悠悠色悠在线播放| 色久综合在线| 久久国产拍爱| 久久黄色视频影| 亚洲免费福利视频| 亚洲欧美日韩成人在线| 亚洲AV无码乱码在线观看代蜜桃 | 久久国产精品电影| 国产综合日韩另类一区二区| 久久精品最新免费国产成人| 亚洲欧美日韩天堂| 亚洲精品卡2卡3卡4卡5卡区| 丝袜高跟美脚国产1区| 国产又粗又猛又爽| 亚洲无码高清视频在线观看|