您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關ML.NET 0.9的特性有哪些,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
ML.NET 0.9已于上周發布,距離上次0.8版本的發布只有一個多月,此次增加的新特性主要包括特征貢獻計算,模型可解釋性增強,ONNX轉換對GPU的支持,Visual Studio ML.NET項目模板預覽,以及API改進。
特征貢獻計算(Feature Contribution Calculation)通過決定每個特征對模型分數的貢獻,從而顯示哪些特征在對特別個體的數據樣本的模型預測最有影響力。
當你面臨歷史數據中有許多特征時而又想選擇使用最重要的特征時,特征貢獻計算顯得十分重要。因為使用太多的特征(尤其是包含對模型沒有影響的特征)會減少模型的性能與準確性。因此,使用特征貢獻計算你可以從原始特征集中識別最有影響力的正向與負向的貢獻。
示例代碼:
// 創建特征貢獻計算器
// 對已有訓練模型參數的所有特征進行計算貢獻
var featureContributionCalculator = mlContext.Model.Explainability.FeatureContributionCalculation(model.Model, model.FeatureColumn, numPositiveContributions: 11, normalize: false);
// FeatureContributionCalculatingEstimator可被用作管道中的一個步驟
// 被FeatureContributionCalculatingEstimator保存的特征將在FeatureContribution列中
var pipeline = mlContext.Model.Explainability.FeatureContributionCalculation(model.Model, model.FeatureColumn, numPositiveContributions: 11)
.Append(mlContext.Regression.Trainers.OrdinaryLeastSquares(featureColumn: "FeatureContributions"));
輸出結果可下:
The output of the above code is: Label Score BiggestFeature Value Weight Contribution 24.00 27.74 RoomsPerDwelling 6.58 98.55 39.95 21.60 23.85 RoomsPerDwelling 6.42 98.55 39.01 34.70 29.29 RoomsPerDwelling 7.19 98.55 43.65 33.40 27.17 RoomsPerDwelling 7.00 98.55 42.52
除了特征貢獻計算之外,排列特征重要性(PFI)與廣義加性模型(GAM)也有加強。
排列特征重要性支持大多數學習任務:回歸,二元分類,多元分類與排序。
排列特征重要性允許你在特征重要性分數上計算置信區間,以便可以得到更好的平均值估計。
廣義加性模型支持特征貢獻計算,以便你可以迅速看到哪些特征驅動個體的預測。
在ML.NET 0.9中通過集成高性能的ONNX運行時庫添加了使用激活GPU的CUDA 10.0運行ONNX模型的功能。ONNX模型的GPU支持現在已經可以在Windows 64位系統上使用,不久之后將支持Linux與Mac系統。
Visual Studio項目模板現在推出了支持ML.NET的預覽版本。下載地址
模板涵蓋以下場景:
ML.NET控制臺應用程序
ML.NET模型類庫
ML.NET 0.9以前你需要顯示的標明列名:
var mlContext = new MLContext();var reader = mlContext.Data.CreateTextReader(new[] { new TextLoader.Column("IsOver50K", DataKind.BL, 0), new TextLoader.Column("Workclass", DataKind.TX, 1) },hasHeader: true);var dataView = reader.Read(dataPath);
現在你可以直接使用泛型:
var mlContext = new MLContext();var dataView = mlContext.Data.ReadFromTextFile<InspectedRow>(dataPath, hasHeader: true);private class InspectedRow{ [LoadColumn(0)] public bool IsOver50K { get; set; } [LoadColumn(1)] public string Workclass { get; set; } }
通過Calibrator Estimators,除了在評估模型質量時可以獲得分數列之外,還可以得到置信因子。
例如,你可以獲得每個預測值的概率:
Score - 0.458968 Probability 0.4670409 Score - 0.7022135 Probability 0.3912723 Score 1.138822 Probability 0.8703266
新特性替換了TermLookupTransform,同時提供了指定值之間匹配的新方法。你可以指定鍵列與值列的匹配關系,但需保證兩者數量一致。
允許ML.NET在Windows Nano容器及Windows機器上運行,而無需安裝Visual C++運行時。
在包含模型信息的DataView構造器中提供元數據支持,比如被編碼為元數據的評估指標可以通過代碼解析出來,由此能夠使用任何工具進行可視化。
以上就是ML.NET 0.9的特性有哪些,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。