C#使用ML.Net完成人工智慧預測

kiba518發表於2020-12-08

前言

Visual Studio2019 Preview中提供了圖形介面的ML.Net,所以,只要我們安裝Visual Studio2019 Preview就能簡單的使用ML.Net了,因為我的電腦已經安裝了Visual Studio2019,所以我不需要重頭安裝Visual Studio2019 Preview,只要更新即可。

安裝

首先找到Visual Studio Installer安裝包,如下圖。

執行,然後選擇如下:

建立專案

我們建立一下新專案,如下圖:

然後選擇。

然後新增機器學習。

點選機器學習時,如果我們沒有開啟MLNET模型建立功能,則會彈出提示,讓我們開啟。

當然我們也可以手動在選項中開啟,如下圖:

點選【機器學習】之後會有圖形介面,如下圖:

然後我們可以看到,它提供了一些方案,如語義識別,影像識別,數值預測等。

我們選擇數值預測,然後進入下一步,如下圖:

在環境頁面,選擇本地訓練,然後點選下一步獲取資料,如下圖:

這裡需要選擇一個資料來源,我們去官網上下載一下可用的測試資料來源。

這裡我們下載【產品銷售資料】。

方案示例資料Label特徵
分類 預測銷售異常 產品銷售資料 產品銷售額 月份
  預測網站評論的情緒 網站評論資料 標籤(負面情緒為 0,正面情緒為 1) 評論、年份
  預測信用卡欺詐交易 信用卡資料 類(存在欺詐性為 1,否則為 0) 金額,V1-V28(匿名處理後的特徵)
  預測 GitHub 儲存庫中的問題型別 GitHub 問題資料 區域 標題、描述
值預測 預測計程車費用價格 計程車費資料 車費 行程時間、距離
影像分類 預測花卉的類別 花卉影像 花卉型別:雛菊、蒲公英、玫瑰、向日葵、鬱金香 影像資料本身
建議 預測他人喜歡的電影 電影評分 使用者、電影 評級

選擇完預測資料檔案,我們配置要預測的列,然後點選訓練,如下圖:

訓練介面如下:

點選訓練,大約2分鐘,訓練完成,輸出介面會輸出如下內容。

訓練完成後,如下圖:

我們點選評估,如下圖:

如上圖,預測到1月銷售資料是262.8。

然後點選程式碼,將ML.Net程式碼新增到解決方案中,如下圖:

新增ML.Net程式碼後,如下圖:

生成的MLNetConsoleML.ConsoleApp專案是入口專案,Main函式如下:

static void Main(string[] args)
{
    // Create single instance of sample data from first line of dataset for model input
    ModelInput sampleData = new ModelInput()
    {
        Month = @"1-Jan",
    };
​
    // Make a single prediction on the sample data and print results
    var predictionResult = ConsumeModel.Predict(sampleData);
​
    Console.WriteLine("Using model to make single prediction -- Comparing actual ProductSales with predicted ProductSales from sample data...\n\n");
    Console.WriteLine($"Month: {sampleData.Month}");
    Console.WriteLine($"\n\nPredicted ProductSales: {predictionResult.Score}\n\n");
    Console.WriteLine("=============== End of process, hit any key to finish ===============");
    Console.ReadKey();
}

可以看到,我們預測的是Month = @"1-Jan"。

再開啟ModelBuilder檔案,可以看到,這裡一開始就配置了資料地址和模型地址,如下圖:

到這裡,我們ML.Net就算初步學會使用了,下面,再提供一個官網GIF圖片供大家參考。

訓練時長

模型生成器使用 AutoML 瀏覽多個模型,以查詢效能最佳的模型。

更長的訓練週期允許 AutoML 通過更多設定來瀏覽更多模型。

下表彙總了在本地計算機上為一組示例資料集獲取良好效能所花的平均時間。

資料集大小訓練的平均時間
0 - 10 MB 10 秒
10 - 100 MB 10 分鐘
100 - 500 MB 30 分鐘
500 - 1 GB 60 分鐘
1 GB 以上 3 小時以上

----------------------------------------------------------------------------------------------------

參考網址:https://docs.microsoft.com/zh-cn/dotnet/machine-learning/automate-training-with-model-builder

----------------------------------------------------------------------------------------------------

到此C#使用ML.Net完成人工智慧預測的基本使用已經介紹完了。

程式碼已經傳到Github上了,歡迎大家下載。

Github地址: https://github.com/kiba518/MLNetConsole

----------------------------------------------------------------------------------------------------

注:此文章為原創,任何形式的轉載都請聯絡作者獲得授權並註明出處!
若您覺得這篇文章還不錯,請點選下方的推薦】,非常感謝!

https://www.cnblogs.com/kiba/p/14097006.html

 

 

相關文章