由微软研究院开发的机器学习框架ML.NET现释出0.10版本,这个版本最主要的变动是分离处理表格数据的IDataView组件,以增加.NET生态系中框架的互操作性,还在推荐功能训练中支持多重特征字段(Feature Columns)。ML.NET是一个为.NET开发人员发布的开源跨平台机器学习框架,支持Windows、Linux和macOS操作系统。开发人员可以使用ML.NET解决常见的机器学习任务,透过创建自定义的机器学习模型,赋予应用程序人工智能功能,进行情感分析或是图像分类等工作。而ML.NET还整合了TensorFlow以及ONNX等第三方函式库,与机器学习开源生态系高度互通。微软为了要让IDataView作为.NET生态系统中各函式库的共享类型,因此将IDataView从ML.NET分离出去。用来处理表格数据的IDataView组件,其具备善于处理高维资料以及大型数据集的能力,因此特别适合用于机器学习和进阶分析应用程序,而且还能用于在单一节点处理大型分布式数据集。
而在ML.NET 0.10中,IDataView组件被分离成单个程序集以及NuGet套件,微软提到,这是实现其他API与框架互操作性的一步。微软解释,透过分离IDataView组件,让IDataView成为一种交换数据的格式,不同的函式库将能参照并以API使用IDataView,开发者可以方便的在两个独立的函式库间传递大量数据。第三方框架可以简单的参照单一IDataView的NuGet套件,就能获取原本只能在ML.NET中使用的IDataView副本,微软举例,这将能帮助开发者利用绘制图表函式库,不需要参照整个ML.NET框架,也不用进行复制或是转换数据格式,只要将ML.NET产生的数据以IDataView格式传递给目标函式库,就能直接使用。
另外,在过去的ML.NET版本中,当开发者使用场域分解机(Field-aware Factorization Machine,FFM)训练算法时,只能使用单一特征字段,
而在ML.NET 0.10版本中,场域分解机算法将支持训练数据集中多个特征字段。而在使用多重类别分类(Multi-class Classification)模型等预测功能时,过去都只能预测并取得单一标签,但这对于许多应用情境远远不够,像是电子商务应用中,开发者会希望系统能自动将商品分类到多个类别中,而不仅只有一个类别。但其实在预测时,ML.NET内部存在一个列表,纪录了多个可能的预测,只是API只回传一个结果,
而现在ML.NET 0.10将允许开发者存取架构数据,以获得预测标签列表,其中将包含预测分类的分数或是机率。