微軟釋出 ML.NET 0.10,.NET 跨平臺機器學習框架
微軟於一周前釋出了 ML.NET 0.10 版本 (不是 0.1,接下來還會有 0.11, 0.12,然後才是 1.0 版本)。
更新亮點包括
-
IDataView 被單獨作為一個類庫包
-
場感知分解機訓練器支援多個特徵列
-
支援返回多個預測標籤
-
源自社群的示例頁面
IDataView 被單獨作為一個類庫包
IDataView 元件為表格式資料提供了非常高效的處理方式,尤其是用於機器學習和高階分析應用。它被設計為可以高效地處理高維資料和大型資料集。並且也適合處理屬於更大的分散式資料集中的單個數據區塊結點。
在 ML.NET 0.10 中,IDataView 被拆分成單個程式集和 NuGet 類庫包。這對於與其它 API 及框架互動是極重要的一步。
在被拆分後,其它的類庫將能直接引用它,而不需要引用整個 ML.NET。這樣有助於第三方類庫也能使用 IDataView 所提供的強大功能。
場感知分解機訓練器支援多個特徵列
在之前的 ML.NET 版本中,當使用場感知分解機(FFM)訓練機器時,僅可以提供單個特徵列。
在新的版本里,支援在 Options 引數裡新增額外的特徵列。
var ffmArgs = new FieldAwareFactorizationMachineTrainer.Options(); // Create the multiple field names. ffmArgs.FeatureColumn = nameof(MyObservationClass.MyField1); // 首個欄位 ffmArgs.ExtraFeatureColumns = new[]{ nameof(MyObservationClass.MyField2), nameof(MyObservationClass.MyField3) }; // 額外的欄位 var pipeline = mlContext.BinaryClassification.Trainers.FieldAwareFactorizationMachine(ffmArgs); var model = pipeline.Fit(dataView);
支援返回多個預測標籤
之前的版本里,即使預測多類別分類問題,也只能返回單一的標籤。
現在,這一缺陷終於被修復了(其實在內部邏輯裡已經對多項預測完成處理,但過去的 API 只返回了單一的結果)。
源自社群的示例頁面
作為 ML.NET Samples 的一部分,現在新增了一個特殊 頁面 —— 由社群提供的多個示例。
裡面有不少很好的例子:
▲照片查詢的 WPF 應用,其內部執行 TensorFlow 模型,並匯出為 ONNX 格式。
▲使用 ML.NET 的 UWP 應用