Machine Learning

資料分析 XGBoost (1)

教學目標

初步了解 XGBoost 監督式學習演算法的基本概念。

重點概念

首先 XGBoost 全名為 Extreme Gradient Boosting,主要是基於梯度提升決策樹 (Gradient Boosted Decision Tree,GBT),被應用於解決監督式學習的問題,監督式學習主要是藉由多個特徵的訓練資料中學習建立一個模型,並且透過模型預測目標變數的結果。其中模型以數學函數表示,透過給定 X 針對 Y 進行預測的目標函數,其中模型的參數會從資料中學習調整,同時根據預測值的不同,我們可以將問題類型分為迴歸或分類。

接著我們需要根據訓練資料,嘗試找到最好的參數,因此我們需要定義目標函數,以利於量測參數的效果,其中目標函數主要有兩個部份,分別為損失函數和正規化。所謂損失函數主要是用於評估模型有多符合資料,通常我們會採用平方差進行衡量損失函數,但是針對邏輯回歸則是以邏輯斯函數進行衡量損失函數。至於正規化則是則是懲罰複雜模型,以利防止過適問題 (Overfitting),所謂過適問題就是當模型在訓練資料集上的誤差低,但是在驗證資料集上的誤差非常高,最根本的辦法就是降低模型複雜度,像是增加訓練資料、減少訓練使用的特徵數量和提高正規化程度,因為我們對於好模型的判斷依據是準確且簡單為主,主要會以機器學習中的偏差 (Bias) 和變異 (Variance) 進行判斷模型是否有不足或過適的問題發生。在統計學中有個概念為偏差和變異之權衡 (Bias-Variance tradeoff),簡單來說,偏差可以理解為若我們有無限資料時,訓練出最佳模型的誤差,我們會儘可能透過目標函數盡可能去擬合訓練資料,此時會有較少的偏差,而變異則是因為我們有限資料中隨機性所帶來的誤差,此時正規化則是讓模型盡可能簡單,因為當模型越簡單則有限資料擬合出來結果的隨機性較小,不易發生過適問題,使得最後模型的預測更加穩定。

再來監督式學習模型最常用的是 Boosted Tree,因為效果非常好,並且計算複雜度不高,同時對於輸入要求較不敏感,因此是資料科學家必備的工具之一。至於 XGBoost 所對應的模型為 Tree Ensemble,所謂 Tree Ensemble 主要是由分類和迴歸樹 (Classification And Regression Trees,CART) 所組成,同時 Boosted Tree 最基本組成部份就是 CART,所謂 CART 會將輸入根據不同的屬性分配至各個葉子節點,每個葉子節點皆會對應一個分數,此時我們可以針對葉子節點的分數進行更多模型結果的解釋。然而一個 CART 通常過於簡單而無法有效的進行預測,所以我們會再透過加強的模型為 Tree Ensemble,我們會將多棵樹的預測分數加總進行預測。至於我們常見的 Random Forest 和 Boosted Tree 模型皆是 Tree Ensemble,差別在於建構模型的學習參數方法不同,其模型中的參數對應樹的結構和每個葉子節點上的預測分數。

然而 Tree Ensemble 模型中的參數比傳統模型最優化問題更難,因為傳統最優化問題我們能夠透過梯度來解決,但是我們卻無法一次訓練所有的樹,因此我們則會透過增量訓練 (Additive Training) 的方式,每一次保留原來的模型不變,並且加入一個新的函數至我們的模型中,也就是說每一步我們皆會在前一步的基礎上增加一顆樹,以利修復上一顆樹的不足,有助於提升目標函數。其中我們使用均方差作為損失函數,我們會採用泰勒展開來定義一個近似的目標函數,請注意此目標函數只依賴於每個資料在誤差函數一階導數和二階導數,以及在 XGBoost 中將能夠支援自定義損失函數進行優化。

最後針對 XGBoost 模型的複雜度,我們則要考量正規化,其中主要會將樹拆分成結構部份,也就是每個葉子節點對應數係的函數,以及葉子部份,也就是葉子節點上分數所組成的向量。此時我們將會定義一棵樹的複雜度為節點個數和每個樹葉子節點上分數的平方和。但是在增量學習的過程中,我們要如何選擇新增的樹呢?若我們已經知道樹的結構時,則可透過目標函數求最佳解,以及最佳解對應目標函數的最大增益。下一步我們要如何找出最好的樹呢?主要可以透過貪心法,也就是在樹的每層建構過程中優化目標函式的最大增益。

總結 XGBoost 專注於模型的可解釋性,更適用於變數較少的資料,更容易於調整參數。除此之外 XGBoost 的設計目標為:

  1. 記憶體優化:大部分的記憶體分配在第一次加載時就完成,之後便不再進行動態記憶體分配的問題。
  2. 快取優化:大部份的訓練模式盡可能善用快取機制。
  3. 改善模型:模型演算法更加強健和更高準確性。

所以 XGBoost 執行速度非常快速且非常準確,同時支援 YARN 等分散式平台上進行執行有效解決問題,以及在資料科學方面有許多 Kaggle 選手皆選用 XGBoost 模型演算法進行比賽。因此 XGBoost 遵循 Boosted Tree 的思維進行實作,同時考慮系統優化和機器學習原理,用最少的執行時間提高模型準確性。

相關資源

SAS 解決方案 (1)

教學目標

初步了解有關 SAS 透過統計建立預測模型的相關應用與解決方案,此篇主要為學習筆記。

重點概念

預測模型使用歷史資料預測未來新資料的結果,這些預測會被使用於未來進行策略決策,例如: 預測模型能夠讓企業進行有關客戶市場回應的行為準確決策。基於這些預測,企業會識別有效影響客戶行為的策略,通常在建立和評分預測模型主要有兩個主要的程序,分別為:

  1. 透過存在的資料建立預測模型。
  2. 部署模型在新資料上進行預測評分。

預測模型的會由公式或規則組成,主要是依我們使用分析的類型的不同。基於輸入變數集大部分會被用於預測目標變數,例如: 回歸模型有參數和公式,決策樹則沒有參數但有規則。一般來說我們會將預測模型應用於企業進行目標行銷、信用卡評分和詐欺偵測。

首先目標行銷主要使用客戶資料改善銷售促銷和產品忠誠度的行銷,屬於資料庫行銷的類型之一,這時預測模型會基於客戶歷史資料,模型中主要包括客戶屬性的輸入資料,例如: 收入(連續變數)、職業(名目變數)、…等,通常會用於預測促銷對於客戶的回應,此時輸出資料則為二元變數主要是指客戶對於促銷的回應是否會進行購買,然後企業會應用預測模型針對新客戶的資料進行預測,哪一個客戶區分最有可能進行購買,也就是目標群眾,此時行銷工作就能專注於目標群眾,此外歷史客戶資料庫也會被使用於預測個人加入服務或取消服務,這時忠誠度促銷就能鎖定有極高風險取消服務的客戶。SAS 則有提供行銷自動化 (SAS Marketing Automation) 和即時決策管理 (SAS Real-Time Decision Manager) 的解決方案,同時在 2017 年 Gartner 的研究報告中提到 SAS 在於多通路行銷活動的管理是領先者的地位。

接著信用評分主要被使用於決定客戶信用申請表是否要允許或拒絕,此時會以歷史申請表資料建立預測模型,模型中主要包括申請屬性的輸入資料,例如: 收入(連續變數)、信用評分(連續變數)、…等,通常會用於預測申請人的貸款或負債情況,然後企業會應用預測模型針對新的申請人資料進行預測,主要目標在於降低新申請人的違約和嚴重拖欠的情況發生。SAS 則有提供信用風險評分 (Credit Scoring for SAS Enterprise Miner) 和企業風險管理 (SAS Enterprise Risk Management) 的解決方案,同時在 2017 年 Chartis RiskTech 的研究報告中提到 SAS 在於建模風險治理解決方案是領先者的地位。

再來詐欺偵測主要重點在於企業需要監控詐欺的交易,例如: 信用卡的購買或保險索賠,此時會以歷史交易資料建立預測模型,模型中主要包括交易或保險索賠屬性的輸入資料,通常會用於預測交易的詐欺狀態,然後企業會應用預測模型針對新的交易資料進行預測。主要目標在於預防新的交易和索賠被詐欺或濫用的情況發生,並且進行調查和阻檔。SAS 則有提供詐欺管理 (SAS Fraud Management) 和反洗錢 (SAS Anti-Money Laundering) 的解決方案,同時在 2017 年 Forrester 的研究報告中提到 SAS 在於進階分析和機器學習解決方案是領先者的地位。

總結我們學習統計基本理論概念,搭配進階的機器學習演算法建立預測模式之後,更進一步則能夠針對企業所面臨的問題導入適當的 SAS 解決方案,除了解決企業的問題痛點之外,更能夠為企業帶來持續不間斷的分析價值,以及全面性的風險治理。

相關資源

資料分析 Machine Learning (6)

教學目標

初步了解如何透過 Amazon EC2 線上服務安裝 TensorFlow 機器學習環境,此篇主要為學習筆記。

重點概念

TensorFlow 是個 Google 所推出的開源軟體函式庫,主要用於進行機器學習和深層神經網路研究,並且適用於各種領域,其是採用資料流程圖進行數值運算,圖中每個節點皆表示數學運運算,說圖的邊緣則表示節點彼此之間傳遞的多維資料陣列,稱之為 Tensors。靈活的架構允許我們使用單個 API 部署至桌面、伺服器或行動裝置中。此外因為 TensorFlow 是開源軟體所以能夠部署至任何雲端平台,並且依據公司的需求進行程式碼重新編譯及調整,現在我們開始透過 Amazon EC2 線上服務安裝 TensorFlow 機器學習環境,首先開啟 Amazon EC2 線上服務選擇 Ubuntu Server 16.04 LTS 映像檔。

選擇實體的類型為「p2.xlarge」。

請選擇「Create a new key pair」,輸入「Key pair name」為「tensorflow」,再按下「Download Key Pair」下載「tensorflow.pem」金鑰檔,接著按下「Launch Instances」鈕啟動實體。

按下「View Instances」鈕。

將實體命名為「TensorFlow」,並且複製 IPv4 Public IP 位置。

透過終端機工具連線至 Amazon EC2 實體機器。

1
$ sudo ssh -i tensorflow.pem ubuntu@[IP 位置]

開啟環境變數設定檔。

1
$ vi .bachrc

確認有下述 CUDA 的路徑設定,所謂 CUDA 為 NVIDIA 所提出的平行運算架構,可運用繪圖處理單元 (GPU) 強大處理能力,大幅增加運算效能。

1
2
3
4
export CUDA_HOME=/usr/local/cuda
export CUDA_ROOT=/usr/local/cuda
export PATH=$PATH:$CUDA_ROOT/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CUDA_ROOT/lib64

安裝 CUDA 工具套件 8.0。

1
$ wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_8.0.61-1_amd64.deb
1
2
$ sudo dpkg -i cuda-repo-ubuntu1604_8.0.61-1_amd64.deb
$ sudo apt-get update

1
$ sudo apt-get install -y nvidia-367 libcuda1-367

(註: 目前 AWS 線上服務提供兩個支援 GPU 的實體 P2 和 G2,P2 使用 nvidia-367 和 libcuda1-367 ,而 G2 則使用 nvidia-375 和 libcuda1-375 )

1
2
$ sudo apt-get install -y cuda-toolkit-8-0
$ sudo reboot

檢查 GPU 顯示卡的狀態。

1
$ nvidia-smi

下載並設置 cuDNN 深度神經網路函式庫。

1
2
$ wget https://s3-ap-southeast-1.amazonaws.com/labs.leoyeh.me/ml/google_tensorflow/cudnn-8.0-linux-x64-v5.1.tgz
$ sudo tar -xvf cudnn-8.0-linux-x64-v5.1.tgz -C /usr/local

安裝 Python3 工具。

1
$ sudo apt-get install -y python3-pip

安裝 tensorflow-gpu 函式庫。

1
$ pip3 install tensorflow-gpu

進行驗證,簡單透過 TensorFlow 函式庫顯示訊息和進行運算。

1
2
3
4
5
6
$ python3
import tensorflow as tf
sess = tf.Session()
message = tf.constant("Hello, TensorFlow!")
print(sess.run(message))
print(sess.run(tf.constant(123)*tf.constant(456)))

機器學習實驗完成,可以先關閉 Amazon EC2 的實體機器,以節省經費,此外每次停止再重新啟動時若沒特別設定則 IP 會重新分配。

總結官方提供 virtualenv 、 Docker 和 Anaconda 相關安裝管理軟體的安裝方式,但是我們先試著只安裝 TensorFlow 函式庫和 CUDA 工具套件,確保正常運作進行驗證之後,接下來我們再嘗試相關安裝管理軟體,其實 Ansible 也是個不錯的選擇。

相關資源

資料分析 Machine Learning (5)

教學目標

初步了解如何透過 Amazon Machine Learning 線上服務建立第一個機器學習實驗,此篇主要為學習筆記。

重點概念

機器學習主為為自動從我們的資料中找出模式和使用它們對於新的資料進行可用預測的技術,因此我們的資料搭配機器學習理應能夠建立智慧的應用程式,此外在企業實務應用中有許多商業邏輯與規則,此外使用機器學習的技術將可以自動從資料中學習商業邏輯與規則。但是若我們已經有資料和應用程式,要如何以現有的資料整合機器學習的技術,將應用程式轉變為智慧的應用程式,此時就能夠使用 Amazon Machine Learning 雲端服務,簡單三個階段就能夠建立智慧的應用程式,分別為:

  1. 訓練模型。
  2. 評估和優化。
  3. 取得預測結果。

所謂 Amazon Machine Learning 雲端服務主要是讓開發人員輕鬆使用機器學習技術,主要透過視覺化工具和精靈,引導我們完成機器學習模型的建立流程,並且無須學習複雜的機器學習演算法和技術,Amazon Machine Learning 雲端服務採用的機器學習技術經過驗證並且能夠高度擴展,透過從現有資料的模式建立機器學習模型,然後再使用機器學習模型處理新的資料,以利為應用程式產生預測結果,目前常見的機器學習實用案例,只要藉由二元或多元分類機器學習演算法就能達到貫務應用,主要有六項,分別為:

  1. 詐騙偵測: 協助客戶識別出潛在的詐騙交易,或者偵測詐騙行為。
  2. 客戶流失率預測: 協助客戶找出可能流失的高風險客戶,透過促銷的方式積極與客戶接觸,或者擴展客戶的服務範圍。
  3. 文件分類: 協助客戶處理非結構化的文字,並且根據內容採取相關的行動。
  4. 內容個人化: 協助客戶根據過往使用者的行為推薦產品,或者優化網站流程,以利網提供更完善的個人化客戶體驗。
  5. 改善客戶支援: 協助客戶處理任何形式的意見回饋,然後安排合適的客戶支援專家聯繫溝通。
  6. 目標性的行銷活動: 協助客戶根據過往使用者的活動,為目標客戶選擇最具相關性的行銷活動。

接著在開始使用 Amazon Machine Learning 雲端服務之前,要先了解下述五個關鍵概念,分別為:

  1. 資料來源: 主要包括輸入資料相關的中繼資料。
  2. 機器學習模型: 主要從輸入資料。
  3. 評估: 主要是評測機器學習模型的品質。
  4. 批次非同步預測: 主要是預測多個輸入的觀察資料。
  5. 即時同步預測: 主要是預測單獨輸入的觀察資料。

事實上五個關鍵概念對應至建立智慧的應用程式的三個階段,分別為

  1. 訓練模型: 建立資料來源物件指向我們的資料,接著探索和了解我們的資料,以及轉換資料和訓練機器學習模型。
  2. 評估和優化: 了解模型品質,以及調整對於模型的解釋。
  3. 取得預測結果: 可以分為批次非同步預測和即時同步預測。

再來我們試著使用 Amazon Machine Learning 雲端服務建立第一個機器學習實驗,主要應用為識別目標性行銷活動的潛在客戶,資料內容來自於 University of California at Irvine (UCI) 機器學習儲存庫有關銀行與行銷的資料集,主要內容包括客戶基本資訊和之前與行動活動的互動情況。

首先請下載相關檔案的兩個檔案 banking.csvbanking-batch.csv ,並且上傳兩個檔案至 Amazon S3 雲端儲存空間中機器學習專屬的 Bucket 中。


檔案上傳完成之後,點選 banking.csv 檔案查看相關路徑。

開啟 Amazon Machine Learning 雲端服務主控台,按下「Get started」,再按下「Launch」鈕。


在「S3 location」輸入 banking.csv 檔案的路徑 ,並且按下「Verify」鈕驗證資料。

若 banking.csv 檔案未授權,請按下「Yes」鈕允許 banking.csv 檔案授權存取。

確認資料無誤之後,請按下「Continue」鈕。

針對「Does the first line in your CSV contain the column names?」請勾選「Yes」。

點選「Name」欄位進行排序,確認欄位類型無誤之後,按下「Continue」鈕。

勾選「y」欄位設定為目標。

按下「Review」鈕,再按下「Continue」鈕。


選擇「Default (Recommended)」預設為二元分類演算法,再按下「Review」鈕。

按下「Create ML model」鈕。

此時將會開始建立機器學習模型,狀態為「Pending」。

當建立機器學習模型完成時,則狀態為「Completed」。

點選摘要報告下方「Latest evaluation result」中的 AUC 評分結果。

點選「Adjust score threshold」鈕調整門檻值,以利修正機器學習模型,例如: 當預設門檻值為 0.5 時,則機器學習模型準確率為 0.9111,但是將門檻值為 0.58 時,則機器學習模型準確率提高為 0.9122,接著按下「Save score threshold at 0.58」鈕。


點選左上方的「Amazon Machine Learning」下拉選單中的「Batch Preditions」項目。

按下「Create new batch predictions」鈕。

點選剛建立完成的機器學習模型「ML model: Banking.csv」。

按下「Continue」鈕。

勾選「My data is in S3, and I need to create a datasource」選項,接著輸入「Datasource name」為「Banking Data Batch Predictions」,再來在「S3 location」輸入 banking-batch.csv 檔案的路徑,以及針對「Does the first line in your CSV contain the column names?」勾選「Yes」,最後按下「Verify」鈕,若 banking-batch.csv 檔案未授權,請按下「Yes」鈕允許 banking-batch.csv 檔案授權存取。

按下「Continue」鈕。

在「S3 location」輸入儲存機器學習模型預測結果的路徑,按下「Review」鈕,若儲存機器學習模型預測結果的路徑未授權,請按下「Yes」鈕允許儲存機器學習模型預測結果的路徑授權存取。

按下「Create batch prediction」鈕。

此時將會開始透過機器學習模型建立批次預測,狀態為「Pending」。

當建立批次預測完成時,則狀態為「Completed」。

此時切換至 Amazon S3 主控台中儲存機器學習模型預測結果的路徑下的資料夾「batch-prediction」->「result」,即可找到壓縮的結果檔案。

解壓縮之後開啟該 csv 結果檔案即可查看預測的結果。

此外我們也可以嘗試即時預測的功能。

點選「Paste a record」鈕,接著輸入下述資料記錄,再按下「Submit」鈕。

1
32,services,divorced,basic.9y,no,unknown,yes,cellular,dec,mon,110,1,11,0,nonexistent,-1.8,94.465,-36.1,0.883,5228.1

按下「Create prediction」鈕。

此時概據資料記錄即時預測的結果就會以 JSON 資料格式返回,其中預測分數為 0.042389288544654846。

最後按下「Create endpoint」鈕,再按下「Create」鈕。

當即時端點建立完成之後,就能透過 API 的方式進行即時預測的請求。

最後結論是我們只要透過 Amazon Machine Learning 線上服務搭配 Amazon S3 儲存空間線上服務,就能直接進行機器學習的實驗,並且產生評分與驗證模型的結果,主要預設為 AUC 評估分類演算法成效如何,若成效不理想時則我們直接針對分類演算法的機器學習模組進行門檻值等參數調整,以利改善模型,此外還能夠透過設定的方式直接處理批次和即時資料的預測結果,更進一步建立即時端點能夠讓應用程式透過 API 的方式存取預測的結果進行更智慧的應用解決企業所面臨的問題。

相關資源

資料分析 Machine Learning (4)

教學目標

初步了解如何透過 Microsoft Azure Machine Learning Studio 建立第一個機器學習實驗,此篇主要為學習筆記。

重點概念

首先銀行透過客戶過去的資料決定是否允許客戶申請信用卡,輸入為申請人表單,輸出為是否發卡,此時我們一開始卻無法得知規則的函數,所以才需要透過機器學習的方式取得接近規則的函數。基本應用為判斷是否允許客戶申請信用卡,主要有允許和不允許兩大分類,主要屬於二元分類演算法,進階應用為評估客戶信用風險評分等級,主要屬於多元分類演算法,相較於允許或不允許的回答,我們將會有更多的資訊可以針對不同評分等級的客戶最適當的信用卡申請服務。

接著 Mircosoft Azure Machine Learning 是雲端預測性的分析服務,主要可以讓我們快速建立預測模型,並且將其進行部署為可供 Web 存取服務的解決方案。其中我們主要會透過 Microsoft Azure Machine Learning Studio 線上服務進行拖拉點選的方式連接模型,以利快速建立預測模型。我們將會透過 Microsoft Azure Machine Learning Studio 線上服務建立實驗,實驗主要是由資料集所組成,資料集主要是提供資料給分析模組,再將模組連接起來就能夠建構預測分析模型,其中模組是指以資料為基礎所執行的演算法,然而有效的實驗主要有五個特性:

  1. 實驗至少有一個資料集和一個模組。
  2. 資料集只能連接模組。
  3. 模組可以連結資料集或其它模組。
  4. 模組的輸入埠必須要有資料流程的相關連線。
  5. 模組中的必要參數必須進行設定。

再來我們試著建立信用風險評估實驗,主要將資料集的 70% 當成訓練資料集和 30% 為測試資料集,嘗試驗證分類演算法中的促進式決策樹演算法的預測評分等級的準確度,主要有三個階段,分別為建立模型、訓練模型和評分與驗證模型。

階段一: 建立模型

開啟 Microsoft Azure Machine Learning Studio 線上服務建立新的實驗。

將實驗命名為「信用風險評估實驗」。

搜尋關鍵字「credit」,再將「German Credit Card UCI dataset」資料集模組拖曳至實驗畫布。

點選「German Credit Card UCI dataset」資料集模組底部的輸出連接埠,然後選取「Visualize」。

此時我們可以更深入了解資料的呈現情形。

搜尋關鍵字「metadata」,再將「Edit Metadata」資料操作組拖曳至實驗畫布,並且與「German Credit Card UCI dataset」資料集模組進行連接。

點選畫布中的「Edit Metadata」,接著按下畫面右方的「Launch column selector」進行中繼資料欄位選擇。

全選所有欄位移至右方選取欄位中。

將下述欄位名稱參數複製至「New column names」參數中。

1
Status of checking account, Duration in months, Credit history, Purpose, Credit amount, Savings account/bond, Present employment since, Installment rate in percentage of disposable income, Personal status and sex, Other debtors, Present residence since, Property, Age in years, Other installment plans, Housing, Number of existing credits, Job, Number of people providing maintenance for, Telephone, Foreign worker, Credit risk

搜尋關鍵字「split」,再將「Split Data」資料操作模組拖曳至實驗畫布,並且與「Edit Metadata」資料操作模組進行連接,以及點選畫布中的「Split Data」資料操作模組,接著在畫面右方的「Fraction of rows in the first output dataset」中輸入「0.7」,代表左邊輸出連接埠為 70%,右邊輸出連接埠為 30%。

搜尋關鍵字「r script」,再將二個「Execute R Script」R 語言模組拖曳至實驗畫布,並且與「Split Data」資料操作模組進行連接,請皆連接「Dataset 1」輸出埠,以及點選畫布中的「Execute R Script」R 語言模組,接著在畫面右方 R Script 中修改為下述程式碼,請重複同樣的步驟修改另一個 R 語言模組。

1
2
3
4
5
dataset1 <- maml.mapInputPort(1)
data.set<-dataset1[dataset1[,21]==1,]
pos<-dataset1[dataset1[,21]==2,]
for (i in 1:5) data.set<-rbind(data.set,pos)
maml.mapOutputPort("data.set")

按下畫面下方的「Run」按鈕,執行實驗的建立模型階段。

階段二: 訓練模型

搜尋關鍵字「train model」,再將「Train Model」機器學習模組拖曳至實驗畫布,並且與第一個「Execute R Script」R 語言模組進行連接。

搜尋關鍵字「decision tree」,再將「Two-Class Boosted Decision Tree」機器學習模組拖曳至實驗畫布,並且與「Train Model」機器學習模組進行連接。

接著按下畫面右方的「Launch column selector」進行訓練的資料欄位選擇。

按下畫面下方的「Run」按鈕,執行實驗的訓練模型階段。

階段三: 評分與驗證模型

搜尋關鍵字「score model」,再將「Score Model」機器學習模組拖曳至實驗畫布,並且與「Train Model」機器學習模組與第二個「Execute R Script」R 語言模組進行連接。

搜尋關鍵字「evaluate model」,再將「Evaluate Model」機器學習模組拖曳至實驗畫布,並且與「Score Model」機器學習模組進行連接,以及按下畫面下方的「Run」按鈕,執行實驗的評分與驗證模型階段。

點選「Evaluate Model」機器學習模組底部的輸出連接埠,然後選取「Visualize」。

此時我們可以了解評分與驗證模型的結果。


最後結論是我們只要透過 Microsoft Azure Machine Learning Studio 線上服務搭配 R 語言進行資料準備之後,就能直接套用機器學習相關模組進行機器學習的實驗,並且產生評分與驗證模型的結果,主要預設為 ROC 曲線評估分類演算法成效如何,若成效不理想時則我們再針對分類演算法的機器學習模組進行參數調整,以利改善模型。

相關資源