Azure 教程:使用 Azure 機器學習工作室預測汽油價格

已發表: 2022-03-11

如果您可以預測您選擇的股票在下個月是上漲還是下跌呢? 或者如果你最喜歡的足球隊會贏或輸下一場比賽? 你怎麼能做出這樣的預測? 也許機器學習可以提供部分答案。 Cortana 是由 Bing 提供支持的新型數字個人助理,Windows Phone 8.1 隨附於 2014 年 FIFA 世界杯的 16 場比賽中準確預測了 15 場。

在本 Azure 教程中,我們將通過解決我們日常生活中面臨的問題之一來探索 Azure 機器學習的特性和功能。

Azure 機器學習教程

從機器學習開發人員的角度來看,問題可以分為兩組——可以使用標準方法解決的問題,以及使用標準方法無法解決的問題。 不幸的是,大多數現實生活中的問題都屬於第二類。 這就是機器學習發揮作用的地方。 其基本思想是使用機器在歷史數據中找到有意義的模式並用它來解決問題。

問題

汽油價格可能是大多數人預算中已經包含的項目之一。 不斷增加或減少也會影響其他雜貨和服務的價格。 影響天然氣價格的因素有很多,從天氣條件到政治決策和行政費用,再到自然災害或戰爭等完全不可預測的因素。

本 Azure 機器學習教程的計劃是調查一些可訪問的數據並找到可用於創建預測模型的相關性。

Azure 機器學習工作室

Azure 機器學習工作室是基於 Web 的集成開發環境 (IDE),用於開發數據實驗。 它與 Azure 的其他雲服務緊密結合,簡化了機器學習模型和服務的開發和部署。

創建實驗

創建機器學習示例有五個基本步驟。 我們將通過開發我們自己的汽油價格預測模型來檢查這些步驟中的每一個。

獲取數據

收集數據是此過程中最重要的步驟之一。 數據的相關性和清晰度是創建良好預測模型的基礎。 Azure 機器學習工作室提供了許多示例數據集。 另一個很棒的數據集集合可以在archive.ics.uci.edu/ml/datasets.html 找到。

採集完數據後,我們需要通過他們簡單的數據上傳機制上傳到 Studio:

Azure 機器學習工作室

上傳後,我們可以預覽數據。 下圖是我們剛剛上傳的部分數據。 我們的目標是在標有 E95 的列下預測價格。

機器學習工作室

我們的下一步是通過將模塊從左側面板拖放到工作區中來創建一個新實驗。

Azure 機器學習

預處理數據

預處理可用數據涉及根據您的需要調整可用數據。 我們將在這裡使用的第一個模塊是“描述性統計”。 它根據可用數據計算統計數據。 除了“描述性統計”模塊外,常用的模塊之一是“清理缺失數據”。 此步驟的目的是通過將缺失(空)值替換為其他值或完全刪除它們來賦予缺失(空)值的意義。

定義特徵

在我們教程的這一步應用的另一個模塊是“基於過濾器的特徵選擇”模塊。 該模塊確定與我們想要預測的結果最相關的數據集特徵。 在這種情況下,如下圖所示,與“E95”值最相關的四個特徵是“EDG BS”、“Oil”、“USD/HRK”和“EUR/USD”。

基於過濾器的特徵選擇

由於“EDG BS”是另一個不能用於預測的“輸出”值,我們將只從剩餘的重要特徵中選擇兩個——即美元/HRK列下的石油價格和貨幣匯率。

處理後的數據集樣本如下圖所示:

天藍色工作室數據集

選擇和應用算法

我們的下一步是使用“拆分”模塊拆分可用數據。 數據的第一部分(在我們的例子中為 80%)將用於訓練模型,其餘部分用於對訓練後的模型進行評分。

天藍色拆分模塊

以下步驟是整個 Azure 機器學習過程中最重要的步驟。 “火車模型”模塊接受兩個輸入參數。 一是原始訓練數據,二是學習算法。 在這裡,我們將使用“線性回歸”算法。 “Train Model”模塊的輸出是“Score Model”模塊的輸入參數之一。 另一個是剩餘的可用數據。 評分模型向我們的數據集添加了一個新列,即評分標籤。 當應用的學習算法與可用數據配合良好時,“評分標籤”列下的值更接近其對應 E95 值的值。

訓練模型模塊

評估模型模塊為我們提供了以統計值表示的訓練模型的評估。 如果我們查看“確定係數”,我們可以得出結論,使用該模型預測正確價格的可能性約為 80%。

現在,值得嘗試使用“神經網絡回歸”模塊。 我們需要添加新的“訓練模型”和“評分模型”模塊,並將輸出連接到現有的“評估模型”模塊。

神經網絡回歸模塊

“神經網絡回歸”模塊需要更多配置。 由於這是整個實驗中最重要的模塊,因此我們應該集中精力,調整和試驗設置和選擇適當的學習算法作為一個整體。

在這種情況下,評估模塊為我們提供了兩個訓練模型的比較。 同樣,基於確定係數,我們看到神經網絡提供的預測準確度略低。

天藍色評估模型

此時我們可以保存選擇的訓練模型以備將來使用。

天藍色訓練模型

當我們有一個訓練有素的模型時,我們可以繼續創建“評分實驗”。 這可以通過從頭開始創建新實驗或使用 Azure 機器學習工作室幫助程序來完成。 只需選擇經過訓練的模型,然後單擊“創建評分實驗”。 我們這裡需要的新模塊是“Web 服務輸入”和“Web 服務輸出”。 我們將添加一個“項目列”模塊來選擇我們的輸入和輸出值。 輸入值為石油和美元/HRK,輸出為“評分模型”輸出的“評分標籤”列下的預測值。

下圖是我們經過這幾項調整後,將“Web 服務輸入”和“Web 服務輸出”模塊相應連接後的評分實驗。

評分實驗

另一個漂亮的助手功能在這一點上發揮作用。 使用“發布 Web 服務”,您可以創建託管在 Azure 雲基礎架構上的簡單 Web 服務。

發佈網絡服務

預測新數據

最後,我們可以使用一個簡單的測試表單來測試我們的預測 Web 服務。

天藍色的測試表格

機器學習測試表

結論

通過這個簡單的機器學習教程,我們展示瞭如何創建功能齊全的預測 Web 服務。 集成到 Azure 平台中的 Azure 機器學習工作室可以成為創建數據實驗的非常強大的工具。 除了機器學習工作室,還有其他機器學習解決方案,例如 Orange 和 Tiberious。 無論您喜歡哪種開發環境,我都鼓勵您探索機器學習並找到您內心的數據科學家。