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

2021-01-20 腳本之家

 關注「腳本之家」,與百萬開發者在一起

出品 | 腳本之家(ID:jb51net)


前言


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就算初步學會使用了。


訓練時長


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

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

下表匯總了在本地計算機上為一組示例數據集獲取良好性能所花的平均時間。

數據集大小訓練的平均時間0 - 10 MB10 秒10 - 100 MB10 分鐘100 - 500 MB30 分鐘500 - 1 GB60 分鐘1 GB 以上3 小時以上

到此C#使用ML.Net完成人工智慧預測的基本使用已經介紹完了,代碼已經傳到Github上了,歡迎大家下載。

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

本文作者:kiba518,.NET系統架構師

聲明:本文為 腳本之家專欄作者 投稿,未經允許請勿轉載。


長按掃碼讚賞我

相關焦點

  • 使用 ML.NET 識別樂高顏色塊
    你猜對了 - 建立一個程序使用 ML.NET 來識別樂高的顏色塊。在此之後,我們創建訓練管道,最後,使用數據進行訓練以創建模型。the model mlModel = trainingPipeline.Fit(trainingDataView);}現在,使用這個訓練模型,我們可以嘗試對一個新圖像進行分類。
  • 使用C#的後端Web API:循序漸進教程
    首先,當我們使用C#時,您需要使用Microsoft Visual Studio(您可以在Microsoft官方網站上獲取它)。此外,您還需要啟用IIS(Internet信息服務)。完成。現在,您可以在解決方案資源管理器中瀏覽生成的文件夾和文件 有應用程式配置,幫助頁面數據,一些控制器,字體,CSS和JS文件。
  • 「C」使用 Excel 和 Math.Net 進行曲線擬合和數據預測
    即使把其中看起來最好的一組數據拿出來使用多項式擬合,也可以看出最後幾個點沒有落在擬合曲線上(只擬合最後 14 個點):雖然我知道這是硬體問題,但是遇到事情不能坐以待斃,軟體方面也許可以做些什麼。既然我從上圖中得知出了最後幾個點之外,其它數據都在擬合曲線上,那我可以使用前面幾個點的擬合結果預測後面幾個點並替換掉出錯的數據,從而得到一組看起來正常的數據。2.
  • IBM使用人工智慧來預測亨廷頓氏舞蹈症的演變
    IBM正在利用其基於人工智慧的健康預測技能來幫助應對亨廷頓氏舞蹈症的挑戰。這家科技公司與CHDI基金會合作開發了一種人工智慧模型,可以預測患者何時會出現亨廷頓氏症症狀,最重要的是,它還可以確定這些症狀的發展速度。
  • C#與人工智慧(第3講)創建神經網絡
    神經網絡從本講開始,正式講述人工智慧編程。#人工智慧#筆者不想講述太多理論,而是側重於實際應用開發。對理論感興趣的讀者,建議去參考書籍《神經網絡與機器學習》,這本書非常經典。首先,按照《C#與人工智慧(第2講)創建WinForm程序》所述,創建一個Windows窗體應用項目。然後,滑鼠右擊解決方案面板裡的項目名稱WindowsFormsApp3。從彈出菜單裡,選擇「管理NuGet程序包」。
  • 使用Python和Numpy構建神經網絡模型——波士頓房價預測案例
    作者:陳仕炫 來源:人工智慧學習圈波士頓房價預測是一個經典的機器學習任務,類似於程式設計師世界的「Hello World」。希望通過本文,可以讓更多朋友了解和起步神經網絡的搭建。同樣我們期望模型學習的是任務的本質規律,而不是訓練數據本身,模型訓練未使用的數據,才能更真實的評估模型的效果。在本案例中,我們將80%的數據用作訓練集,20%用作測試集,實現代碼如下。通過列印訓練集的形狀,可以發現共有404個樣本,每個樣本含有13個特徵和1個預測值。
  • 美國航天局利用機器學習人工智慧預測颶風強度 | 章魚通
    更多的學習權力該團隊將降雨量、冰水含量和氣溫超標預測器添加到了國家颶風中心(National Hurricane Center)已經在其運行模型中使用的那些預測器中,以便通過機器學習得出自己的預測。然後,他們在1998年至2008年期間培訓了風暴模型,並在2009年至2014年期間使用不同的風暴對模型進行了測試。Su及其同事還將其模型的性能與國家颶風中心2009年至2014年相同風暴的業務預測模型進行了比較。
  • 人工智慧預測未來人類的樣子,臉上多了這個!
    造石器的使用,使猿人類在進化中增長了手臂;火的使用,使人類在進化中,眼睛能看得更遠;現代人頻繁的使用手機等電子產品,基因無時無刻不在在發生改變。英國科學家與一公司合作,用人工智慧,創造了一個未來人類模型,預測公元2100年人類的長相:脖子粗,駝背,手變成爪狀,是這個「未來人」的特徵。此外,還有一個奇怪的細節,那就是眼睛上可能將會長出第二個眼瞼。圖片是名為「Mindy」的未來人類模型。
  • 人工智慧是怎樣預測分子的氣味的
    打開APP 人工智慧是怎樣預測分子的氣味的 站長之家 發表於 2019-10-25 15:51:28 站長之家(ChinaZ.com) 10月25日 消息:除了視覺分析,未來人工智慧也將擅長嗅覺分析。
  • 人工智慧可預測患者壽命!精準度與醫生相當
    據連線雜誌報導,阿德萊德大學的研究者開展了一項史無前例的研究,使用人工智慧預測人類壽命,其精準度與醫生相當。人工智慧通過分析患者胸部影像預測未來五年內哪些病人會死亡,精確度為69%,與人類醫生判斷的精準度相當。
  • 誤區解讀:ML和DL之間的區別和使用情況
    【IT168 資訊】深度學習是機器學習的一個子集,都是人工智慧的子集。機器學習與深度學習不完全屬於一個拳擊淘汰賽中,深度學習是機器學習的一個子集,而它們都是人工智慧(AI)的子集。但是,在機器學習和深度學習的定義和用例方面,市場上存在很多混淆,現在讓我們來澄清一下混淆。
  • 「人工智慧」深度學習代碼教程:簡單線性回歸擬合,送源碼!
    人工智慧——深度學習要說當前熱度最高的領域,非人工智慧領域莫屬。人工智慧(Artificial Intelligence,AI)是指計算機像人一樣擁有智能能力,是一個融合計算機科學、統計學、腦神經學和社會科學的前沿綜合學科,可以代替人類實現識別、認知,分析和決策等多種功能。
  • 人工智慧可以預測地震嗎?
    迄今為止,儘管許多科學家已經嘗試過,但沒有人找到預測地震的可靠方法。一些專家認為這是一個無望的努力。洛斯阿拉莫斯國家實驗室的地球物理學家保羅詹森說:「如果你說你認為你會在預測地震方面取得進展,那麼你就會被視為一個瘋子。」 但他仍在嘗試使用他認為可能解決這個不可能的難題的強大工具:人工智慧。
  • 人工智慧首次預測蛋白質「光學指紋」
    來源:科技日報科技日報合肥6月9日電 (記者吳長鋒)記者從中國科大獲悉,該校微尺度物質科學國家研究中心江俊教授與其合作者合作,通過利用人工智慧機器學習中的神經網絡技術,模擬了蛋白質肽鍵結構與性質之間的構效關係,大大降低了計算量,為預測蛋白質的光學特性提供了一種高效的工具
  • 白皮書解讀 | SingularityNET:全球首個人工智慧+區塊鏈自治網絡
    智能合約由程序觸發並調用,用來處理小額、高頻交易,幫助交易主體更安全的完成交易。 在 SingularityNET 框架下,人工智慧成為面向全球開放的公共基礎設施,任何人都可以方便地應用 AI 技術,或參與到 AI 的開發過程當中來。同時,他們也可以在 SingularityNET 網絡中添加 AI,給他人提供服務。
  • 人工智慧在心房顫動預測中的新進展|人工智慧|顫動預測|心房|房顫|...
    何康,武忠四川大學華西醫院 心臟大血管外科(成都  610041)通信作者:武忠,Email:wuzhong@wchscu.cn關鍵詞:  人工智慧;心房顫動;心電圖;綜述引用本文:何康,武忠. 人工智慧在心房顫動預測中的新進展.
  • C#與人工智慧(第4講)創建樸素貝葉斯分類器
    今天,我給大家帶來C#與人工智慧的第4講——創建樸素貝葉斯分類器。#人工智慧#本文先實現一個簡單的貝葉斯分類器,輸入二進位,判斷0-7。後續文章會講述它的高級應用——貝葉斯推理機。C#與人工智慧(第3講)創建神經網絡C#與人工智慧(第2講)創建WinForm程序C#與人工智慧(第1講)安裝C#編程環境託馬斯·貝葉斯是18世紀英國數學家,概率論、貝葉斯統計的創立者。貝葉斯方法基於貝葉斯原理,對樣本數據集進行分類。它綜合了先驗概率、後驗概率,避免僅用先驗概率產生的主觀偏見。
  • 如何使用人工智慧管理物聯網傳感器電源
    研究人員旨在通過使用人工智慧和能量收集技術來延長傳感器和物聯網設備的壽命。如果物聯網設備持續斷電,部署數百萬個傳感器幾乎是徒勞的。物聯網傳感器在沒有電源的情況下無法收集或傳輸數據。這是研究人員探索環境能量收集的原因之一。
  • Pytorch貝葉斯庫BLiTZ實現使用LSTM預測時序數據和繪製置信區間
    本文將主要講述如何使用BLiTZ(PyTorch貝葉斯深度學習庫)來建立貝葉斯LSTM模型,以及如何在其上使用序列數據進行訓練與推理。在本文中,我們將解釋貝葉斯長期短期記憶模型(LSTM)是如何工作的,然後通過一個Kaggle數據集進行股票置信區間的預測。