




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
實訓11交通大數據分析實訓項目背景隨著智能交通技術的不斷發展,憑借各種交通數據采集系統,交通領域積累的數據規模膨大,飛機、列車、水陸路運輸逐年累計的數據從過去TB級別達到目前PB級別,同時伴隨近幾年大數據分析、挖掘等技術迅速發展,對海量的交通數據進行挖掘分析是交通領域發展的重要方向,得到了各地政府和企業的高度重視。交通大數據的有效利用與人們的生活息息相關,不僅能夠給人們的生活創造巨大的便利,也能為政府的規劃、城市的發展提供堅實的數據支撐。交通運輸部數據顯示,目前全國有360余個城市投放了共享單車,在營車輛約1950萬輛,注冊用戶數超過3億。共享單車用戶的騎行行為會留下大量的數據,如何分析和挖掘相關數據,為共享單車的治理和優化提供數據支持,具有極其重要的意義。本項目將對共享單車的騎行數據進行挖掘,探索用戶騎行的規律與模式。實訓任務騎行數據缺失值、異常值的檢測與處理自定義特征,統計站點每半小時的進出流量騎行數據描述性統計分析站點騎行流量探索性分析利用Apriori算法對站點流量進行關聯規則挖掘利用FPGrowth算法對站點流量進行關聯規則挖掘數據準備本項目所分析的數據來自CitiBike,這是一家主要運營在美國紐約市的共享單車公司。CitiBike共享單車業務早在2013年5月就首次運營,推出當天就有1.6萬名會員注冊,可見大家對該項目的喜愛。經過多年的發展CitiBike先后推出了330個站點和5000輛自行車,主要分布在曼哈頓下城和布魯克林西北區。本次分析的數據為CitiBike在2017年7月的騎行數據,該數據由公司自行公開,可從如下地址進行下載:/tripdata/201707-citibike-tripdata.csv.zip。數據準備此數據共有1735599條騎行記錄,包括15個字段,具體含義及類型如下表所示。分析步驟知識儲備關聯規則挖掘概述關聯規則挖掘:一種發現大量數據中事物(特征)之間有趣的關聯的技術。典型應用是購物籃分析:找出顧客購買行為模式、發現交易數據庫中不同商品(項)之間的聯系。例如,通過關聯規則挖掘可能會發現,購買牛奶的用戶往往會同時購買面包,或是購買的尿布的用戶往往會同時購買啤酒等。在此基礎上,商家可以考慮進行定制化的推薦或者營銷,輔助進行經營方針的制定,如商品捆綁銷售設計、商品促銷和商品貨架分布等,從而提高利潤。知識儲備關聯規則的基本概念1.項集:I={牛奶,面包,尿布,啤酒,雞蛋,可樂}2.頻數:一個項集X在數據庫D中出現的次數為頻數。
例如,X={牛奶,面包},則count(X)=3.3.支持度:在一個交易數據庫D中,用支持度衡量一個項集X出現頻率的大小,記為support(X)。support(X)=count(X)/|??|×100%。|??|為該數據庫所包含交易數據條數。例如,X={牛奶,面包},則support(X)=60%.4.置信度:項集X發生的情況下,則項集Y發生的概率為關聯規則的置信度,記為confidence(X→Y)。confidence(X→Y)=support(X→Y)/support(X)。例如,X={牛奶,面包},Y={啤酒},則confidence(X→Y)=1/3=33.3%。5.頻繁項集:項集X的支持度如果大于用戶給定的最小支持度閾值,則X被稱為頻繁項集。TIDItemsT1
牛奶,面包T2面包,尿布,啤酒,雞蛋T3牛奶,尿布,啤酒,可樂T4面包,牛奶,尿布,啤酒T5面包,牛奶,尿布,可樂知識儲備關聯規則挖掘關聯規則挖掘的主要任務:找出滿足最小支持度和最小置信度的頻繁項集。
例如,給定minsup=40%和minconf=60%,則{啤酒}→{尿布}為頻繁項集,sup({啤酒,尿布})=60%,conf({啤酒,尿布})=100%。目前常見的關聯規則算法AprioriFP-Growth知識儲備Apriori算法逐層發現算法(Apriori)的主要思想是找出存在于事務數據集中的最大的頻繁項集,再利用得到的最大頻繁項集與預先設定的最小置信度閾值生成強關聯規則。知識儲備使用Apriori算法實現餐飲菜品關聯分析結合餐飲行業的實例講解Apriori關聯規則算法挖掘的實現過程。數據庫中部分點餐數據如表所示。序列時間訂單號菜品id菜品名稱12014/8/2110118491健康麥香包22014/8/211018693香煎蔥油餅32014/8/211018705翡翠蒸香茜餃42014/8/211028842菜心粒咸骨粥52014/8/211027794養顏紅棗糕62014/8/211038842金絲燕麥包72014/8/211038693三絲炒河粉…………………………知識儲備使用Apriori算法實現餐飲菜品關聯分析首先將上表中的事務數據(一種特殊類型的記錄數據)整理成關聯規則模型所需的數據結構,從中抽取10個點餐訂單作為事務數據集,設支持度為0.2(支持度計數為2),為方便起見將菜品{18491,8842,8693,7794,8705}分別簡記為
,如表所示。訂單號原菜品id轉換后菜品id118491,8693,870528842,779438842,8693418491,8842,8693,7794518491,884268842,8693718491,8842818491,8842,8693,8705918491,8842,86931018491,8693,8705知識儲備使用Apriori算法實現餐飲菜品關聯分析算法過程如圖所示。知識儲備使用Apriori算法實現餐飲菜品關聯分析(1)過程一:找最大k項頻繁項集算法簡單掃描所有的事務,事務中的每一項都是候選1項集的集合
的成員,計算每一項的支持度。如
對
中各項集的支持度與預先設定的最小支持度閾值作比較,保留大于或等于該閾值的項,得1項頻繁項集
知識儲備使用Apriori算法實現餐飲菜品關聯分析掃面所有事務,
與
連接得候選2項集
,并計算每一項的支持度。如
接著是剪枝步,由于
的每個子集(即
)都是頻繁項集,所以沒有項集從
中剔除。對
中各項集的支持度與預先設定的最小支持度閾值作比較,保留大于或等于該閾值的項,得2項頻繁項集
知識儲備使用Apriori算法實現餐飲菜品關聯分析掃描所有事務,
與
連接得候選3項集
,并計算每一項的支持度,如
接著是剪枝步,
與
連接的所有項集為
根據Apriori算法,頻繁項集的所有非空子集也必須是頻繁項集,因為
不包含在2項頻繁項集
中,即不是頻繁項集,應剔除,最后的
中的項集只有和知識儲備使用Apriori算法實現餐飲菜品關聯分析對
中各項集的支持度與預先設定的最小支持度閾值作比較,保留大于或等于該閾值的項,得3項頻繁項集
;
與
連接得候選4項集
,剪枝后得到的項集為空集。因此最后得到最大3項頻繁項集
和
。由以上過程可知
都是頻繁項集,
是最大頻繁項集。知識儲備使用Apriori算法實現餐飲菜品關聯分析(2)過程二:由頻繁集產生關聯規則嘗試基于該例產生關聯規則,在Python中實現上述Apriori算法的代碼,
結果如右圖所示。針對右圖中第一條輸出結果進行解釋:客戶同時點菜品e和a的概率是30%,點了菜品e,再點菜品a的概率是100%。知道了這些,就可以對顧客進行智能推薦,增加銷量的同時滿足客戶需求。結果為:supportconfidencee---a0.31.000000e---c0.31.000000c---e---a0.31.000000a---e---c0.31.000000c---a0.50.714286a---c0.50.714286a---b0.50.714286c---b0.50.714286b---a0.50.625000b---c0.50.625000a---c---e0.30.600000b---c---a0.30.600000a---c---b0.30.600000a---b---c0.30.600000知識儲備FP-GrowthFP-Growth算法不同于Apriori算法生成候選項集再檢查是否頻繁的“產生-測試”方法,而是使用一種稱為頻繁模式樹(FP-Tree,FP代表頻繁模式,FrequentPattern)的菜單緊湊數據結構組織數據,并直接從該結構中提取頻繁項集。相比于Apriori對每個潛在的頻繁項集都需要掃描數據集判定是否滿足支持度,FP-Growth算法只需要遍歷兩次數據集,因此它在大數據集上的速度顯著優于Apriori。知識儲備FP-GrowthFP-Growth算法的基本步驟掃描數據,得到所有1項頻繁一項集的計數。然后刪除支持度低于閾值的項,將1項頻繁項集放入項頭表,并按照支持度降序排列。讀入排序后的數據集,插入FP樹,插入時將項集按照排序后的順序,插入FP樹中,排序靠前的節點是祖先節點,而靠后的是子孫節點。如果有共用的祖先,則對應的公用祖先節點計數加1。插入后,如果有新節點出現,則項頭表對應的節點會通過節點鏈表連接新節點。直到所有的數據都插入到FP樹后,FP樹的建立完成。知識儲備FP-GrowthFP-Growth算法的基本步驟從項頭表的底部項依次向上找到項頭表項對應的條件模式基。從條件模式基遞歸挖掘得到項頭表項的頻繁項集。如果不限制頻繁項集的項數,則返回步驟3所有的頻繁項集,否則只返回滿足項數要求的頻繁項集。知識儲備FP-Growth2.FP-Growth算法原理FP-Growth算法主要包含3個部分:掃描數據集建立項頭表、基于項頭表建立FP-tree和基于FP-tree挖掘頻繁項集。(1)建立項頭表要建立FP-tree首先需要建立項頭表,建立項頭表需要先對數據集進行一次掃描,得到所有1項頻繁一項集的計數,將低于設定的支持度閾值的項過濾掉后,將1項頻繁集放入項頭表并按照項集的支持度進行降序排序。之后對數據集進行第二次掃描,從原始數據中剔除1項非頻繁項集,并按照項集的支持度降序排序。知識儲備FP-Growth以一個含有10條數據的數據集為例,數據集中的數據如表所示。序號數據1A,B,C,E,F,H2A,C,G3E,I4A,C,D,E,G5A,D,E,L6E,J7A,B,C,E,F,P8A,C,D9A,C,E,G,M10A,C,E,G,K知識儲備FP-Growth對數據集進行掃描,支持度閾值設為20%,由于H,I,L,J,K,P,M都僅出現一次,小于設定的20%的支持度閾值,因此將不進入項頭表。將1項頻繁項集按降序排序后構建的項頭表如表所示。頻繁項計數A8E8C7G4D3B2F2知識儲備FP-Growth第二次掃描數據,將每條數據中的1項非頻繁項集刪去,并按照項集的支持度降序排列。如數據項“A,B,C,E,F,H”,其中“H“為1項非頻繁項集,剔除后按項集的支持度降序排列后的數據項為“A,E,C,B,F”,得到排序后的數據集如表所示。序號數據1A,E,C,B,F2A,C,G3E4A,E,C,G,D5A,E,D6E7A,E,C,B,F8A,C,D9A,E,C,G10A,E,C,G知識儲備FP-Growth(2)建立FP-tree構建項頭表并對數據集排序后,就可以開始建立FP-tree。建立FP-tree時按順序讀入排序后的數據集,插入FP-tree中時按照排序的順序插入,排序最為靠前的是父節點,之后的是子孫節點。如果出現共同的父節點,則對應父節點的計數增加1次。插入時如果有新節點加入樹中,則將項頭表中對應的節點通過節點鏈表鏈接接上新節點。直至所有的數據項都插入FP-tree后,FP-tree完成建立過程。知識儲備FP-Growth以建立項頭表的數據集為例,構建FP-tree的過程如圖所示。知識儲備FP-Growth最終得到的FP-tree如圖所示。知識儲備FP-Growth(3)挖掘頻繁項集在構建FP-tree、項頭表和節點鏈表后,需要從項頭表的底部項依次向上挖掘頻繁項集。這需要找到項頭表中對應于FP-tree的每一項的條件模式基。條件模式基是以要挖掘的節點作為葉子節點所對應的FP子樹。得到該FP子樹后,將子樹中每個節點的計數設置為葉子節點的計數,并刪除計數低于最小支持度的節點。基于這個條件模式基就可以遞歸挖掘得到頻繁項集了。知識儲備FP-Growth以構建F節點的條件模式基為例,F節點在FP-tree中只有一個子節點,因此只有一條路徑{A:8,E:6,C:5,B:2,F:2},得到F節點的FP子樹如圖所示。知識儲備FP-Growth接著將所有的父節點的計數設置為子節點的計數,即FP子樹變成{A:2,E:2,C:2,B:2,F:2}。通常條件模式基可以不寫子節點,如圖所示。通過F節點的條件模式基可以得到F的頻繁2項集為{A:2,F:2}、{E:2,F:2}、{C:2,F:2}、{B:2,F:2}。將2項集遞歸合并得到頻繁3項集為{A:2,C:2,F:2}、{A:2,E:2,F:2}等等。最終遞歸得到最大的頻繁項集為頻繁5項集{A:2,E:2,C:2,B:2,F:2}。第三方工具庫項目中需要安裝的第三方工具庫如下:basemap:數據地圖的可視化工具庫geopy:地址編碼工具庫apyori:Apriori算法庫pyfpgrowth:FP-Growth算法庫第三方工具庫安裝basemap的步驟如下:在命令提示行輸入condainstallbasemap,如果安裝失敗,可采用如下1-4步完成。1、下載.whl文件:(1)pyproj-3.0.1-cp36-cp36m-win_amd64.whl(2)basemap-1.2.2-cp36-cp36m-win_amd64.whl注,這兩個文件均可在/~gohlke/pythonlibs/找到,需要特別注意的是版本號一定要對應(比如多少位機器,什么版本的python)2、將下載好的.whl文件放在某個目錄下,如python的安裝目錄Scripts;第三方工具庫3、打開AnacondaPrompt,進入.whl文件所在的目錄下,輸入pipinstallXXX安裝:4、測試是否安裝成功:frommpl_toolkits.basemapimportBasemapimportmatplotlib.pyplotasplt第三方工具庫安裝geopy
、apyori和pyfpgrowth的步驟如下:
geopy:在命令提示行輸入pipinstallgeopyapyori:在命令提示行輸入pipinstallapyori
pyfpgrowth:在命令提示行輸入pipinstallpyfpgrowth
項目分析報告騎行數據探索性分析租賃點數量自行車數量租賃次數租賃時長平均站點距離633個10422輛5.37次/天17.53分鐘5393米表1騎行基本信息工作日頻率最高的三個騎行始末站(432,3263),(2006,2006),(281,281)周末頻率最高的三個騎行始末站(3182,3182),(3182,3254),(3254,3182)流入量最高的三個站WestSt&ChambersSt,PershingSquareNorth,12Ave&W40St流出量最高的三個站PershingSquare,NorthWestSt&ChambersSt,12Ave&W40St流量最高的站Pershi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 許昌職業技術學院《實驗設計方法》2023-2024學年第一學期期末試卷
- 山東省單縣一中2024-2025學年高三適應性月考(七)英語試題含解析
- 煙臺幼兒師范高等專科學校《耐火材料工藝學》2023-2024學年第二學期期末試卷
- 江蘇省鹽城市響水縣2025年初三第二學期第二次綜合練習化學試題文試卷含解析
- 天津現代職業技術學院《英語語言學概論》2023-2024學年第二學期期末試卷
- 廈門醫學院《測繪學科》2023-2024學年第二學期期末試卷
- 電商培訓合同范文
- 二零二五版借款補充合同
- 二零二五版房屋裝修半包合同范文
- 二零二五山地租賃合同范例
- (正式版)SHT 3551-2024 石油化工儀表工程施工及驗收規范
- 中考復習平行四邊形專題
- 國家開放大學《Python語言基礎》形考任務4參考答案
- 特殊兒童心理與教育
- 上海中小學創新試驗室建設指引
- 人音版四年級音樂下冊全冊教學設計教案表格式
- 保險公司投保規劃方案模板
- 蜜雪冰城財務分析
- 2024年山西交通控股集團有限公司招聘筆試參考題庫附帶答案詳解
- 喀什草湖鎮發展規劃方案
- 人教版培智生活數學一年級下冊比長短(一)課件
評論
0/150
提交評論