日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

开源的,跨平台的.NET机器学习框架ML.NET

發(fā)布時間:2023/12/4 asp.net 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 开源的,跨平台的.NET机器学习框架ML.NET 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

微軟在Build 2018大會上推出的一款面向.NET開發(fā)人員的開源,跨平臺機器學習框架ML.NET。 ML.NET將允許.NET開發(fā)人員開發(fā)他們自己的模型,并將自定義ML集成到他們的應用程序中,而無需事先掌握開發(fā)或調(diào)整機器學習模型的專業(yè)知識。在采用通用機器學習語言(如R和Python)開發(fā)的模型,并將它們集成到用C#等語言編寫的企業(yè)應用程序中需要付出相當大的努力。ML.NET填平了機器學習專家和軟件開發(fā)者之間的差距,從而使得機器學習的平民化,即使沒有機器學習背景的人們能夠建立和運行模型。通過為.NET創(chuàng)建高質(zhì)量的機器學習框架,微軟已經(jīng)使得將機器學習轉(zhuǎn)化為企業(yè)(或通過Xamarin移動應用程序)變得更容易。這是一種使機器學習更加可用的形式。

使用ML.NET可以解決哪些類型的問題?

基于微軟內(nèi)部Windows,Bing和Azure等主要微軟產(chǎn)品使用多年的機器學習構(gòu)建的庫目前處于預覽階段,最新版本是0.2 。該框架目前支持的學習模型包括

  • K-Means聚類

  • 邏輯回歸

  • 支持向量機

  • 樸素貝葉斯

  • 隨機森林

  • 增強樹木

其他技術(shù),如推薦引擎和異常檢測,正在開發(fā)的路線圖上。ML.NET將最終將接口暴露給其他流行的機器學習庫,如TensorFlow,CNTK和Accord.NET。最后,還會有一些工具和語言增強功能,包括Azure和GUI / Visual Studio功能中的擴展功能。

機器學習

作者:周志華

當當 廣告 購買

如何在應用程序中使用ML.NET?

ML.NET以NuGet包的形式提供,可以輕松安裝到新的或現(xiàn)有的.NET應用程序中。

該框架采用了用于其他機器學習庫(如scikit-learn和Apache Spark MLlib)的“管道(LearningPipeline)”方法。數(shù)據(jù)通過多個階段“傳送”以產(chǎn)生有用的結(jié)果(例如預測)。典型的管道可能涉及

  • 加載數(shù)據(jù)

  • 轉(zhuǎn)換數(shù)據(jù)

  • 特征提取/工程

  • 配置學習模型

  • 培訓模型

  • 使用訓練好的模型(例如獲得預測)

  • 管道為使用機器學習模型提供了一個標準API。這使得在測試和實驗過程中更容易切換一個模型。它還將建模工作分解為定義明確的步驟,以便更容易理解現(xiàn)有代碼。scikit-learn庫實現(xiàn)了很多機器學習算法,我們可以多多參考scikit-learn :http://sklearn.apachecn.org/cn/0.19.0/index.html?

    ML.NET機器學習管道的核心組件:

    • ML數(shù)據(jù)結(jié)構(gòu)(例如IDataViewLearningPipeline

    • TextLoader(將數(shù)據(jù)從分隔文本文件加載到LearningPipeline

    • 轉(zhuǎn)換(以獲得正確格式的數(shù)據(jù)進行訓練)

      • 處理/特征化文本:?TextFeaturizer

      • 架構(gòu)modifcation: ,ColumnConcatenatorColumnSelectorColumnDropper

      • 使用分類特征:CategoricalOneHotVectorizerCategoricalHashOneHotVectorizer

      • 處理丟失的數(shù)據(jù):?MissingValueHandler

      • 過濾器:RowTakeFilterRowSkipFilterRowRangeFilter

      • 特性選擇:FeatureSelectorByCountFeatureSelectorByMutualInformation

    • 學習算法(用于訓練機器學習模型)用于各種任務:

      • 二元分類:FastTreeBinaryClassifierStochasticDualCoordinateAscentBinaryClassifierAveragedPerceptronBinaryClassifierBinaryLogisticRegressorFastForestBinaryClassifierLinearSvmBinaryClassifier,和GeneralizedAdditiveModelBinaryClassifier

      • 多類分類:StochasticDualCoordinateAscentClassifierLogisticRegressor,和NaiveBayesClassifier

      • 回歸:FastTreeRegressorFastTreeTweedieRegressorStochasticDualCoordinateAscentRegressorOrdinaryLeastSquaresRegressorOnlineGradientDescentRegressorPoissonRegressor,和GeneralizedAdditiveModelRegressor

    • 評估器(檢查模型的工作情況):

      • 對于二元分類:?BinaryClassificationEvaluator

      • 對于多類分類:?ClassificationEvaluator

      • 對于回歸:?RegressionEvaluator

    在構(gòu)建機器學習模型時,首先需要定義您希望通過數(shù)據(jù)實現(xiàn)的目標。之后,您可以針對您的情況選擇正確的機器學習任務。以下列表描述了您可以選擇的不同機器學習任務以及一些常見用例。

    二元分類

    二元分類屬于?監(jiān)督學習,用于預測數(shù)據(jù)的一個實例屬于哪些兩個類(類別)任務。分類算法的輸入是一組標記示例,其中每個標記都是0或1的整數(shù)。二進制分類算法的輸出是一個分類器,您可以使用該分類器來預測新的未標記實例的類。二元分類場景的例子包括:

    • 將Twitter評論的情緒理解為“積極”或“消極”。

    • 診斷患者是否患有某種疾病。

    • 決定將電子郵件標記為“垃圾郵件”。

    • 如果交易日是上漲日或下跌日

    • 手寫數(shù)字識別

    • 語音識別

    • 圖像識別

    有關(guān)更多信息,請參閱Wikipedia上的二元分類?文章。

    多類分類

    多元分類屬于?監(jiān)督學習,用于預測的數(shù)據(jù)的實例的類(類別)的任務。分類算法的輸入是一組標記示例。每個標簽都是0到k-1之間的整數(shù),其中k是類的數(shù)量。分類算法的輸出是一個分類器,您可以使用它來預測新的未標記實例的類。多類分類方案的例子包括:

    • 確定一只狗的品種為“西伯利亞雪橇犬”,“金毛獵犬”,“貴賓犬”等。

    • 將電影評論理解為“正面”,“中性”或“負面”。

    • 將酒店評論歸類為“位置”,“價格”,“清潔度”等。

    有關(guān)更多信息,請參閱Wikipedia上的多類分類文章。

    分類步驟設(shè)置:

  • 首先定義問題

  • 然后,您將以名為Features的數(shù)字屬性的形式表示您的數(shù)據(jù)。這對于已經(jīng)分類的訓練數(shù)據(jù)和將來需要分類的測試數(shù)據(jù)都是這樣做的

  • 您將獲取訓練數(shù)據(jù)并將其輸入分類算法以訓練模型

  • 將需要分類的新實例或采取測試數(shù)據(jù)并將其傳遞給分類器進行分類

  • 聚類

    聚類屬于無監(jiān)督機器學習,用于數(shù)據(jù)的一組實例為包含類似特征的簇的任務。聚類還可用于識別數(shù)據(jù)集中的關(guān)系,這些關(guān)系可能不是通過瀏覽或簡單觀察而在邏輯上得出的。聚類算法的輸入和輸出取決于所選擇的方法。您可以采用分布、質(zhì)心、連通性或基于密度的方法。ML.NET目前支持使用K-Means聚類的基于質(zhì)心的方法。聚類場景的例子包括:

    • 根據(jù)酒店選擇的習慣和特點了解酒店客人群體。

    • 識別客戶群和人口統(tǒng)計信息,以幫助構(gòu)建有針對性的廣告活動。

    • 根據(jù)制造指標對庫存進行分類。

    • 根據(jù)房屋類型,價值和地理位置確定一組房屋

    • 地震震中確定危險區(qū)域

    • 使用集群將電話塔放在一個新城市中,以便所有用戶都能獲得最佳單一強度

    聚類設(shè)置步驟:

  • 你會從問題陳述開始,問題陳述是需要聚集的數(shù)據(jù)集

  • 然后,您將使用功能在該數(shù)據(jù)集中表示點。

  • 這里沒有訓練這一步,不需要學習

  • 您直接將數(shù)據(jù)提供給聚類算法以查找最終的聚類,而無需任何訓練步驟

  • 回歸

    回歸是?監(jiān)督的機器學習,用于從一組相關(guān)的功能預測標簽的值。標簽可以具有任何實際價值,并且不像分類任務那樣來自有限的一組值。回歸算法對標簽對其相關(guān)特征的依賴性進行建模,以確定標簽隨著特征值的變化而如何變化。回歸算法的輸入是一組具有已知值標簽的示例。回歸算法的輸出是一個函數(shù),您可以使用該函數(shù)來預測任何新的輸入要素集的標注值。回歸情景的例子包括:

    • 根據(jù)房屋屬性(如臥室數(shù)量,位置或大小)預測房價。

    • 根據(jù)歷史數(shù)據(jù)和當前市場趨勢預測未來股價。

    • 根據(jù)廣告預算預測產(chǎn)品的銷售情況。


    異常檢測(即將推出)

    排名(即將推出)

    推薦(即將推出)

    原文地址: https://www.cnblogs.com/shanyou/p/9190701.html


    .NET社區(qū)新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com

    總結(jié)

    以上是生活随笔為你收集整理的开源的,跨平台的.NET机器学习框架ML.NET的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。