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

前言

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 小時以上

—————————————————————————————————-

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

—————————————————————————————————-

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

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

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

—————————————————————————————————-

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

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