Azure學習筆記 『誰說機器學習只能透過Coding實現呢?』篇(Azure Machine Learning Studio Classic)
你能想像用類似疊積木的方式就能實踐出一個機器學習解決方案嗎?Azure Machine learning studio就是你要找的答案!
最近玩了一下Azure Machine Learning Studio classic這個服務,感覺發現新大陸!那Azure Machine Learning Studio 到底是何方神社,能幫助大家解決什麼問題呢?
本篇文章將提及:
。知道什麼是Azure Machine Learning Studio classic
。Azure Machine Learning Studio classic 能解決什麼問題
。該如何選用合適的Model
。實作預測電玩銷售量的解決方案
。Machine Learning Studio Classic 的後續進階應用
Azure Machine Learning Studio Classic 是一個以流程圖實踐機器學習的工具。適合解決小規模的機器學習問題、機器學習的入門。
Azure Machine Learning Studio 有四個特色
。多元的機器學習解決方案:
流程圖、流程圖+程式語言模組、Jupter Notebook攥寫Python (code需求程度由左至右遞增)
。社群支援及內建多組模板:
提供各類解決方案組模板及完整教學、
。輕鬆部署解決方案到Web service:
當完成一系列步驟Azure Machine Learning Studio將自動打包成Api、Excel的巨集供他人使用
。多組預設好的機器學習模型
接下來介紹Azure Machine Learning Studio Classic能幫助我們解決什麼樣的問題。
1.Anomaly Detection(異常偵測)
適用於:行為分析、品質檢測、潮流趨勢
2.Classification(分類)
適用於:信件分類、文字辨識、物體辨識
3.Clustering(分群)
適用於:客戶分群
4.Recommendation(推薦)
適用於:影片推薦、餐點推薦
5.Regression(線性迴歸)
適用於:銷售量預測、股市預測
6.Statical Functions(統計功能)
適用於:數據統計
7.Text Analytics(文字分析)
適用於:文字的情感分析、重要的字詞、文字的資訊
8.Computer Vision(電腦視覺)
適用於:影像分析
我想大家應該清楚知道該選用什麼類別來解決自己的問題,但模型那麼多我該選用哪個?有沒有一個明確的建議呢?
下圖的模型選用建議明確的告訴我們什麼時候該用什麼
你已經知道自己該選擇什麼類別的model來解決對應的問題。那我們就開始Hands-on Lab 吧~
Hands-on Lab 步驟:
1.資料的引入(從本機端上傳、以url 方式載入、從Azure儲存體服務導入資料、等等)
2.資料的前處理(選擇欄位、清除空白資料、以平均值填入資料空白處等等…….)
3.資料訓練集與測試集資料拆分(7:3、8:2(測試:驗證)PS 經驗法則)
4.訓練模型
5.部署(API、Excel 巨集)
首先我們先到Kaggle 下載要分析的資料。(https://www.kaggle.com/gregorut/videogamesales)
再來就是註冊免費帳號(https://studio.azureml.net/)
點選左側的DATASETS開始,再按左下角的NEW。
把剛剛下載且解壓縮好的vgasales.csv檔透過點選的方式上傳到DataSet中
再來我們點選EXPERIMENTS,再按下左下角的NEW新增一個新的實驗
點選Blank Experiment
從Saved Datasets 中的My Datasets拉出剛剛上傳好的CSV檔案
從Data Transformation選擇Select Columns in Dataset
把vgsales.csv連入模塊,然後點選右側編輯欄Lauch column selector進入選用邏輯視窗(把other_Sales、JP_sales、EU_sales、NA_Sales排除在外)
All COLUMNS:顯示所有欄位,不管有沒有被選用
NO COLUMNS:只顯示被選用的欄位
接下來就是資料及的拆分,從Data Transofromation中的Sample and Split選用Split Data模塊,把上方的Select Columns in Dataset模塊連入,然後右側編輯欄輸入o.7或是0.8。(這兩個數值代表資料被拆分的百分比)
0.7或0.8的資料將拆分到左側變成獨立的資料集,剩餘的則分配於右側依樣獨立成一個資料集。
從Machine Learning中的Train集合中選定Train Model模塊並把Split Data連入右側資料入的連接處。
從右側編輯欄的Launch column Selector 選定Global_Sales做為預測的值(只能選定單一值)
接下來開始要選定訓練時要用的模型,我們從Machine Learning的Regression中選取Linear Regression.(由於我們要預測的是數值因此選用Regression的類別),所有的值都選用預設值
L2值的調整是要防止訓練資料時過度擬合或是欠擬合,以降以低資料預測時的精準性https://docs.microsoft.com/zh-tw/archive/msdn-magazine/2015/february/test-run-l1-and-l2-regularization-for-machine-learning
Random number seed值的用意在於,透過輸入給定一個值,標記目前訓練的結果,透過輸入同樣數值就能回復標記時的訓練結果。(類似書籤的概念)
到Machine Learning 中的 Score 欄位選擇Score Model,並把Train Model與Split Data 分別從左邊及右邊連入Score Model 模塊。
最後點選下方Run開始編譯
點選Score Model下方連接處中的visualize功能我們可以看到預測的結果,我們可以看到預測結過不盡理想,沒關係我們可以透過兩個方法改善這樣的結果。
方法一:選用其他的model
方法二:調整數(拆分的資料比重、L2參數等等……)
我選用方法一,把Model改成Possion Regression,出來的結果有著顯著的改善。
最後我們可以透過SET UP WEB SERVICE中的Predictive Web Service,之後系統會自動開啟一個Predictive 的分頁,並且把訓練的model好的model打包成一個模塊、新增Web Service Input模塊(供使用者自行輸入變量)與最後把預測結果輸出到Web service output模塊呈現。
再按一次DEPLOY WEB SERVICE後畫面就會跳轉到一下畫面。
在點選藍色TEST就可以直接跟API互動
恭喜你學會Machine learning Studio classic基本用法若激起你的學習慾還想學更多,https://gallery.azure.ai/這個平台可以學習到更多Machine learning Studio 的應用。
新增EXPRMENT時的功能欄,也提供許多模板可以參考使用。
謝謝大家耐心的閱讀希望本篇的分享能激起您對機器學習的興趣。