AI時代的網站與手機App建置與開發Part4 - 整合ML.NET與ASP.NET Core MVC網站-建立訓練機器學習模型
· 使用ML.NET實作客戶信用風險預測
了解ML.NET的功能之後, 我們將要使用ML.NET實作客戶授信風險判斷, 在商業活動中, 授信風險判斷是很實用的功能, 例如銀行貸款的授信, 証券公司當日沖消額度控管等等都可以利用機器學習來協助判斷.
![]() |
·
準備訓練資料
不管是進行機器學習或深度學習, 都要預先準備訓練資料. 請連線到[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 |
請啟動Visual Studio建立型態為[ASP.NET Core MVC應用程式(Model-View-Controller)]型態的專案, 然後使用滑鼠右鍵點選[方案總管]視窗中的專案名稱, 執行[加入 | 機器學習模型]功能, 做好之後請選擇[資料分類], 您就會看到選擇機器學習執行環境的畫面, 如圖1所示;
圖1: 選擇機器學習執行環境的畫面
ML.NET 自3.0版開始加入對Intel oneDAL(oneAPI 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專案.








留言
張貼留言