1. 程式人生 > 程式設計 >C#使用ML.Net完成人工智慧預測

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

前言

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

安裝

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

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

執行,然後選擇如下:

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

建立專案

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

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

然後選擇。

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

然後新增機器學習。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

訓練介面如下:

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

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

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

訓練完成後,如下圖:

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

我們點選評估,如下圖:

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

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

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

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

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

C#使用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檔案,可以看到,這裡一開始就配置了資料地址和模型地址,如下圖:

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

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

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

訓練時長

模型生成器使用 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

到此這篇關於C#使用ML.Net完成人工智慧預測的文章就介紹到這了,更多相關C#人工智慧預測內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!