資料清整流程
1.下載車禍資料、各縣市行政區人口密度、車流量資料。用爬蟲爬取天氣資料、台灣道路經緯度資料。
2.人口密度依時間及行政區和車禍資料合併。
3.天氣資料、車流量依照時間及測站距離和車禍資料合併。
4.依有發生車禍的正樣本資料數,製作無發生車禍的負樣本,保持類別平衡。給負樣本隨機的時間、台灣道路經緯度,並依前述流程合併人口密度、車流量、天氣資料。
數據分析方法
1.特徵工程:
(1)以對數轉換及標準化轉換,處理特徵偏態並限縮各特徵數值範圍
(2)以循環特徵選擇法進行特徵篩選,避免部分機器學習演算法發生維數災難
(3)將前述各項特徵轉換模組,依後續機器學習演算法特性,打包為多個pipeline物件。
2.機器學習:
(1)為避免數據洩露(Data leakage),以2018-2021年資料做訓練集,2022年資料做測試集,維持訓練數據無出現未來數據。
(2)以邏輯斯回歸、KNN、隨機森林、XGBoost等四種演算法來訓練分類模型,並搭配五摺交叉驗證及網格搜尋,找到最佳模型及最佳參數。
(3)以XGBoost為最終模型(正確率.88),並將模型輸出的機率值分佈彙整出十個車禍發生可能性的級距,作為本組網頁api應用的基礎。
(備註: 此專題為小組專題,以上僅列舉(除天氣資料爬蟲、及網頁api)我個人實作的部分)