AI時代的網站與手機App建置與開發Part4 - 整合ML.NET與ASP.NET Core MVC網站-建立訓練機器學習模型


·      使用ML.NET實作客戶信用風險預測

了解ML.NET的功能之後, 我們將要使用ML.NET實作客戶授信風險判斷, 在商業活動中, 授信風險判斷是很實用的功能, 例如銀行貸款的授信, 証券公司當日沖消額度控管等等都可以利用機器學習來協助判斷.

文章範例下載:https://github.com/CraigIII/MLNet.git

·        準備訓練資料

不管是進行機器學習或深度學習, 都要預先準備訓練資料. 請連線到[CreditRisk - EDA and Machine Learning]下載客戶的信用資料表一所示為客戶的信用資料的範例:

1的資料的欄位說明如下:

欄位

說明

checking_status

支票帳戶的狀態

duration

期限(單位:)

credit_history

信用歷史記錄: 正常還款, 延遲還款, 警示帳戶

purpose

貸款用途: 購買電視, 購買汽車

credit_amount

貸款金額

savings_status

存款帳戶狀態

employment

目前受僱狀態(單位:)

installment_commitment

每用還款金額佔可支配收入的比例

personal_status

個人狀態:性別與婚姻狀態

other_parties

其他債務人 / 保証人

residence_since

定居期間(單位:)

property_magnitude

資產:汽車, 不動產

age

年齡

other_payment_plans

其他還款計畫, 例如:銀行

housing

房舍: 自有, 租賃

existing_credits

現有貸款

job

工作性質: 專業人士, 非專業人士

num_dependents

扶養人口

own_telephone

自有電話

foreign_worker

外籍人士

class

授信等級:Good, Bad

    我們將要使用表一的資料進行機器學習訓練.

 ·       使用ML.NET實作客戶信用風險預測

請啟動Visual Studio建立型態為[ASP.NET Core MVC應用程式(Model-View-Controller)]型態的專案, 然後使用滑鼠右鍵點選[方案總管]視窗中的專案名稱, 執行[加入 | 機器學習模型]功能, 做好之後請選擇[資料分類], 您就會看到選擇機器學習執行環境的畫面, 如圖1所示;

1: 選擇機器學習執行環境的畫面

ML.NET 3.0版開始加入對Intel oneDALoneAPI Data Analytics Library)硬體加速支援,能夠加速資料分析和機器學習過程, 如果電腦未支援GPU或任何硬體加速支援, 也可以選擇[本機CPU]做為機器學習環境.

點選[下一步], 您會看到輸入訓練資料的畫面, 如圖2所示:

2: 輸入訓練資料的畫面

點選圖2畫面中的[瀏覽], 瀏覽到預先準備好的訓練資料, [要預測的資料行]選擇: class, 點選[下一步], 您就會看到執行訓練的畫面, 如圖3所示:

3: 執行訓練的畫面

點選[開始訓練], 靜待訓練完成.

訓練完成後, 您就會看到如圖4的畫面, 如果對訓練結果不滿意, 可以增加訓練時間, 或是設定[進階定型選項], 再按下[再次訓練]謀求改善.

4: 訓練完成的畫面

如果滿意訓練結果, 可以按下[下一步], 您就會看到評估訓練妥的機器學習模型的畫面, 如圖5所示:

5: 評估訓練妥的機器學習模型的畫面

您可以於畫面中輸入貸款申請者的相關資料, 然後按下[預測], 就可以在圖5畫面的右方看到預測的結果.

評估完畢後按下圖5畫面中的[下一步], 您就會看到建立提供機器學習模型服務的Server程式和主控台應用程式程式, 如圖6所示:

6: 建立提供機器學習模型服務的Server程式和主控台應用程式程式

請注意如果您想建立提供機器學習服務給眾多的應用程式使用, 可以選擇點選圖6畫面中的[Web API]項目右方的[新增至解決方案]連結, Visual Studio建立的Web API專案將會提供/predict端點供需要機器學習服務的應用程式呼叫使用如果所建立的機器學習模型只要支援自己建立的程式使用, 請點選圖6畫面中的[主控台應用程式]項目右方的[新增至解決方案]連結, Visual Studio建立叫用訓練妥機器學習模型的主控台應用程式專案.

請點選圖6畫面中的[Web API]項目右方的[新增至解決方案]連結, 執行建立[Web API]專案的動作, Visual Studio就會將訓練妥的機器學習模型部署到新建立的[Web API]專案當做Server程式.

做好之後請再點選圖6畫面中的[主控台應用程式]項目右方的[新增至解決方案]連結, Visual Studio建立叫用機器學習模型的主控台應用程式專案.

建立妥部署有機器學習模型的Server專案與主控台應用程式專案之後, 請使用Visual Studio設定啟動專案, 將啟動專案設定成叫用機器學習模型的主控台應用程式專案.

設定完成之後請執行專案, 您就會看到主控台應用程式專案將貸款申請人的相關資料傳送給機器學習模型評估的結果, 如圖7所示:

7: 主控台應用程式專案將貸款申請人的相關資料傳送給機器學習模型評估的結果

按下圖6畫面中的[下一步], 可以看到[部署您的模型][改進模型]兩個選項點選這些選項可以獲取有關將訓練妥的機器學習模型部署到Microsoft Azure雲端平台和改進訓練妥的機器學習模型的相關文件.

·       後續處理

下一回我們將為大家示範如何將叫用部署有機器學習模型的Server專案程式碼移植到ASP.NET Core MVC網站專案或是MAUI跨平台手機App專案.

 

留言

這個網誌中的熱門文章

AI時代的網站與手機App建置與開發Part27 - ML.NET與物件偵測

AI時代的網站與手機App建置與開發Part28 - 使用YOLO模型進行物件偵測

AI時代的網站與手機App建置與開發Part24 - ML.NET與圖片異常偵測