内容简介:微软发布了 ML.NET 0.7,此版本侧重于为基于推荐的机器学习任务提供更好的支持,主要实现了异常检测、增强了机器学习 pipeline 的可定制性,并且支持在 x86 应用程序中使用等。 ML.NET 是一个跨平台的机器学习框架...
微软发布了 ML.NET 0.7,此版本侧重于为基于推荐的机器学习任务提供更好的支持,主要实现了异常检测、增强了机器学习 pipeline 的可定制性,并且支持在 x86 应用程序中使用等。
ML.NET 是一个跨平台的机器学习框架,旨在让 .NET 开发者更快上手机器学习,它允许 .NET 开发者开发他们自己的模型,并将自定义 ML 注入到应用程序中。
0.7 主要更新内容:
使用 Matrix Factorization 增强对推荐任务的支持
推荐系统可以为目录、歌曲、电影等中的产品生成推荐列表,通过添加矩阵分解(Matrix Factorization,MF)改进了对在 ML.NET 中创建推荐系统的支持。MF 通常情况下比 ML.NET 0.3 中引入的 Field-Aware Factorization Machines 明显更快,并且它可以支持连续数字等级(例如 1-5 星)而不是布尔值的等级(“喜欢”或“不喜欢”)。
启用异常检测方案
异常检测用于欺诈检测(识别可疑信用卡交易)和服务器监控(识别异常活动)等场景。
ML.NET 0.7 支持检测两种类型的异常行为:
Spike detection:监测由于中断、网络攻击、病毒式网络内容等异常引起的突发且临时性的输入数据值。
Change point detection:监测某一数据行为产生持久偏差的最初节点,例如,如果产品销售在某一段时间变得更受欢迎(每月销售额增加一倍),那么这个趋势发生变化时会在最开始有一个转折点。
改进了 ML.NET pipeline 的可定制性
ML.NET 提供各种数据转换(例如处理文本、图像、分类特征等)。但是,某些用例需要特定于应用程序的转换,例如计算两个文本列之间的余弦相似度。0.7 中添加了对自定义转换的支持,可以轻松地包含自定义业务逻辑。
CustomMappingEstimator 用于编写自己的方法以处理数据并将它们带入 ML.NET pipeline:
var estimator = mlContext.Transforms.CustomMapping<MyInput, MyOutput>(MyLambda.MyAction, "MyLambda") .Append(...) .Append(...)
以下是此自定义映射将执行操作的定义。在此示例中,将文本标签(“spam”或“ham”)转换为布尔标签(true 或 false):
public class MyInput { public string Label { get; set; } } public class MyOutput { public bool Label { get; set; } } public class MyLambda { [Export("MyLambda")] public ITransformer MyTransformer => ML.Transforms.CustomMappingTransformer<MyInput, MyOutput>(MyAction, "MyLambda"); [Import] public MLContext ML { get; set; } public static void MyAction(MyInput input, MyOutput output) { output.Label= input.Label == "spam" ? true : false; } }
支持 x86
ML.NET 此前仅限于 x64 设备,0.7 将其引入了 x86 32 位设备,不过需要注意,某些基于外部依赖项的组件(例如 TensorFlow)在 x86 中将不可用。
详情见发布公告。
【声明】文章转载自:开源中国社区 [http://www.oschina.net]
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 开源 | Hippy:腾讯开源的跨端开发框架
- WeGeek | WePY 开源框架
- 开源 | vnpy:基于 Python 的开源量化交易平台开发框架
- 优秀开源框架的扩展机制实现
- 开源Botnet框架Byob分析
- 滴滴开源小程序框架 Mpx
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
CSS 压缩/解压工具
在线压缩/解压 CSS 代码
在线进制转换器
各进制数互转换器