不友好的天空:使用數據預測航班取消率-第1部分
AiTechYun
編輯:nanan
這是本系列文章中的第一部分,我們將探索一個用例和幾個不同的機器學習平台,看看我們如何構建一個模型,一個可以幫助預測航班取消的平台。在第一部分中,我們將討論用例,為什麼限制場景,以及我們收集的數據以啟動數據科學/機器學習過程。
用例
對於我們的用例,我們選擇航班取消和天氣數據有幾個不同的原因。我們想要一個項目…
—已經有相當大的數據量,但不是太多,我們需要比我們的筆記本電腦更多的數據處理。
—需要從多個來源聯合數據。
需要真正的數據科學/機器學習項目的各個步驟。CRISP-DM就是這樣一個過程。
許多人認為「訓練」模型是機器學習項目所包含的全部內容。要知道數據收集、數據準備、數據挖掘和數據工程等數據在這樣一個項目中所花費的時間最多,因此並不需要太多的關於數據科學的知識。所以,我們想要一個用例和數據集,需要所有這些。
因此,我們決定,如果我們把天氣數據和歷史飛行數據結合起來,我們就可以預測航班取消的情況。這需要我們所尋找的所有東西,但最終也包括了我們之前沒有想到的東西:數據嚴重失衡的事實。具體來說,在數據集中的所有航班中,只有一小部分實際上被取消。
這一事實促使我們更深入地了解如何處理數據中嚴重不平衡的類。首先,對於這個問題,「準確性」是一個可怕的度量。只是預測航班不會被取消,會給我們很大的準確率,但不是一個好的模型。我們需要尋找像混亂矩陣,精確,召回和ROC曲線這樣的度量。接下來,我們想嘗試不同的演算法和技術,比如過採樣和欠採樣,懲罰我們的稀有類的錯誤分類,以及其他一些類似於SMOTE演算法的東西。嚴重不平衡的數據使得分析變得困難,但我們意識到這在現實生活中也很常見。
限制範圍
我們認為,對世界上每一個機場進行分析的範圍太大了。即使是限制到美國的機場,我們的項目也需要更多的資金。所以我們決定限制最受天氣影響的十大機場。這給我們留下了一個可管理的數據量,我們懷疑數據本身的不平衡性。一個快速的搜索給了我們這個站點,10個受天氣影響最大的美國機場,以及我們將使用的10個機場。
數據收集
為了得到我們的飛行數據,我們使用了美國交通部的網站,它的過濾器讓我們可以分離出我們想要的特性。不幸的是,站點只能一次提供一個月的數據。因此,我們不得不在2016年收集12個單獨的文件,這增加了數據工程的複雜性,因為我們必須首先合併這12個數據文件,然後過濾除這10個機場外的所有機場。這並不難,但卻是一個現實的任務。這12個文件保存了超過500萬條記錄,所以這不是Excel中可以完成的事情。
接下來,我們利用The Weather Company API為2016年的這10個機場站點獲取歷史天氣數據。我們的計劃是將這兩個數據源作為數據準備和數據工程的一部分。
目標
我們的這個用例的目標是提出一個使用幾個不同平台創建機器學習模型的練習。
在本系列的下一篇文章中,我們將使用IBM的SPSS Modeler,這對於初學者來說是非常理想的,因為它具有可視化的圖形界面,許多不同的機器學習演算法,其中包括找到最佳的機器學習演算法,以及易於探索、準備和轉換數據的方法。
在第三篇文章中,我們將嘗試使用IBM的DSX雲平台與Watson機器學習(WML)進行複製。使用Python編程語言創建一個Jupyter Notebook可能會讓我們在代碼和SPSS的GUI界面上有更大的靈活性。不可否認的是,如果您不是Python的嚮導,這也可能是一項更艱巨的任務,所以可能需要更長的時間。WML還在測試中,但我們將會看看它能做什麼。
在最後一篇文章中,我們將嘗試將我們首先做的SPSS模型轉換為「flow」——這是IBM的DSX即將推出的一種新功能,它可以直接在DSX內提供SPSS Modeler功能。嘗試用雲中的流程重新創建我們最初的SPSS模型應該是很有趣的。
很明顯,我們並沒有試圖創建一個生產質量模型。這需要更多的工作和時間。相反,我們想要創建一些能夠很好地工作的東西,並且可以使用所描述的不同平台來完成。與此同時,如果有更多的工作和專業知識,這個項目可能會被調到生產質量的角度。如果是這樣的話,我們可以想像酒店使用它在機場預測航班將被取消的實時廣告。或者Uber可能會用它為滯留的乘客提供更多的汽車。或者,機場本身也可以利用這個模型來為取消預訂做好準備,並為乘客提供更好的體驗。


TAG:ATYUN訂閱號 |