ML.NET 0.10特性简介

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应用:

当然,欢迎有越来越多的贡献者加入其中,提供更多的示例。

posted @ 2019-02-12 21:26  Ken.W  阅读(1031)  评论(7编辑  收藏  举报