微软发布ML.NET 1.0
原文地址:https://devblogs.microsoft.com/dotnet/announcing-ml-net-1-0/
我们很高兴地宣布今天发布ML.NET 1.0。 ML.NET是一个免费的,跨平台的开源机器学习框架,旨在将机器学习(ML)的强大功能引入.NET应用程序。
https://github.com/dotnet/machinelearning
ML.NET允许您使用C#或F#训练,构建和发布自定义机器学习模型,用于情景分析,问题分类,预测,推荐等场景。您可以在我们的ML.NET示例仓库中查看这些常见的场景和任务 。
ML.NET最初是在微软研究院开发的,并且演变成许多Microsoft产品使用的重要框架,例如Windows Defender,Microsoft Office(Powerpoint设计灵感,Excel图表推荐),Azure机器学习,PowerBI关键影响者等等!
自从推出以来,许多组织都在使用ML.NET,如SigParser(垃圾邮件检测), William Mullens(法律问题分类)和Evolution软件(榛子水分检测)。您可以在我们的ML.NET客户展示中使用ML.NET跟踪这些和许多其他组织的旅程。这些用户告诉我们,ML.NET的易用性,重用.NET技能的能力以及将其技术堆栈完全保留在.NET中是他们使用ML.NET的主要驱动因素。
除了ML.NET 1.0版本,我们还添加了新的预览功能,如自动机器学习(AutoML)的强大功能和ML.NET CLI和ML.NET Model Builder等新工具,这意味着现在可以只需点击右键就可以为您的应用程序添加机器学习模型!

本文的其余部分重点介绍这些新体验。
ML.NET核心组件
ML.NET旨在提供终端工作流程,以便在机器学习(预处理,特征工程,建模,评估和操作)的各个步骤中将ML用于.NET应用程序。ML.NET 1.0提供以下关键组件:
- 数据表示
- 基本ML数据管道数据类型,如IDataView - 基本数据管道类型
- 支持从分隔文本文件或IEnumerable对象中读取数据
- 支持机器学习任务:
- 二进制分类
- 多级分类
- 回归
- 排行
- 异常检测
- 聚类
- 推荐(预览)
- 数据转换和特色化
- 文本
- 分类
- 特征选择
- 规范化和缺失值处理
- 图像特征化
- 时间序列(预览)
- 支持ONNX和TensorFlow模型集成(预览)
- 其他
- 模型理解和解释
- 用户定义的自定义转换
- 架构操作
- 支持数据集操作和交叉验证
自动机器学习预览
如今,机器学习入门涉及陡峭的学习曲线。在构建自定义机器学习模型时,您必须确定为您的场景选择哪个机器学习任务(即分类或回归?),将您的数据转换为ML算法可以理解的格式(例如文本数据 - >数字向量),并微调这些ML算法以提供最佳性能。如果您是ML的新手,这些步骤中的每一步都会非常艰巨!
自动机器学习通过自动确定如何转换输入数据并选择性能最佳的机器学习算法,使您能够轻松构建一流的自定义机器学习模型,使您的机器学习之旅更加简单。
ML.NET中的AutoML支持处于预览阶段,我们目前支持回归(用于价格预测等场景)和分类(用于情感分析,文档分类,垃圾邮件检测等场景)机器学习任务。
您可以使用ML.NET Model Builder,ML.NET CLI或直接使用AutoML API (可在此处找到例子),以三种形式在ML.NET中试用AutoML体验。
对于不熟悉机器学习的用户,我们建议从Visual Studio中的ML.NET模型构建器和任何平台上的ML.NET CLI开始。AutoML API对于您想要动态构建模型的场景也非常方便。
模型生成器预览
为了简化.NET开发人员构建ML模型的过程,我们今天也很高兴地宣布ML.NET模型构建器。使用ML.NET模型构建器,只需右键单击即可将机器学习添加到您的应用程序中!
Model Builder是一个简单的UI工具,供开发人员使用AutoML使用您提供的数据集构建最佳的ML模型。除此之外,Model Builder还为最佳性能模型生成模型培训和模型消耗代码,允许您快速将ML添加到现有应用程序中。
Model Builder目前处于预览阶段,我们很乐意为您试用并告诉我们您的想法!
ML.NET CLI预览
ML.NET CLI(命令行界面)是我们今天推出的另一个新工具!
ML.NET CLI是一个dotnet工具,允许使用AutoML和ML.NET生成ML.NET模型。ML.NET CLI快速遍历您的数据集以获取特定的ML任务(目前支持回归和分类)并生成最佳模型。
CLI除了生成最佳模型外,还允许用户为最佳性能模型生成模型培训和模型消耗代码。
ML.NET CLI是跨平台的,是.NET CLI的简单附件。Model Builder Visual Studio扩展还使用ML.NET CLI提供模型构建器功能。
您可以通过此命令安装ML.NET CLI。
dotnet tool install -g mlnet
下图显示了ML.NET CLI构建情感分析数据集。
ML.NET CLI目前也处于预览状态,我们很乐意为您提供试用,并在下面分享您的想法!
开始吧!
如果你还没有,开始使用ML.NET很简单,你可以通过几个简单的步骤来完成,如下所示。下面的示例显示了如何使用ML.NET执行情绪分析。
//Step 1. Create a ML Context
var ctx = new MLContext();
//Step 2. Read in the input data for model training
IDataView dataReader = ctx.Data
.LoadFromTextFile<MyInput>(dataPath, hasHeader: true);
//Step 3. Build your estimator
IEstimator<ITransformer> est = ctx.Transforms.Text
.FeaturizeText("Features", nameof(SentimentIssue.Text))
.Append(ctx.BinaryClassification.Trainers
.LbfgsLogisticRegression("Label", "Features"));
//Step 4. Train your Model
ITransformer trainedModel = est.Fit(dataReader);
//Step 5. Make predictions using your model
var predictionEngine = ctx.Model
.CreatePredictionEngine<MyInput, MyOutput>(trainedModel);
var sampleStatement = new MyInput { Text = "This is a horrible movie" };
var prediction = predictionEngine.Predict(sampleStatement);
您还可以探索各种其他学习资源,如ML.NET的教程和资源,以及ML.NET示例,演示产品推荐,异常检测和更多实际操作等流行方案。
ML.NET的下一步是什么
虽然我们非常高兴今天发布ML.NET 1.0,但团队已经在努力为ML.NET 1.0版发布以下功能。
- 其他机器学习场景的AutoML体验
- 改进了对深度学习场景的支持
- 支持其他其他来源,如SQL Server,CosmosDB,Azure Blob存储等。
- 在Azure上横向扩展以进行模型培训和消费
- 使用模型构建器和CLI时,支持其他ML方案和功能
- 用于Apache Spark和ML.NET的.NET大规模机器学习的本机集成
- .NET中的新ML类型,例如DataFrame
你帮忙建了它
特别呼吁这些令人惊叹的贡献者,他们与我们一起开始使用ML.NET为.NET开发人员提供机器学习。
amiteshenoy, beneyal, bojanmisic, Caraul, dan-drews, DAXaholic, dhilmathy, dzban2137, elbruno, endintiers, f1x3d,feiyun0112, forki, harshsaver,
helloguo, hvitved, Jongkeun, JorgeAndd, JoshuaLight, jwood803, kant2002, kilick, Ky7m,llRandom, malik97160, MarcinJuraszek, mareklinka,
Matei13, mfaticaearnin, mnboos, nandaleite, Nepomuceno nihitb06,Niladri24dutta, PaulTFreedman, Pielgrin, pkulikov, Potapy4, Racing5372,
rantri, rantri, rauhs, robosek, ross-p-smith, SolyarA,Sorrien, suhailsinghbains, terop, ThePiranha, Thomas-SB, timitoc, tincann, v-tsymbalistyi,
van-tienhoang, veikkoeeva和yamachu
如果您还没有,请试试ML.NET!
您的反馈对于我们帮助塑造ML.NET并使.NET成为机器学习的绝佳平台至关重要。
谢谢,
ML.NET团队
微软发布ML.NET 1.0的更多相关文章
- 微软发布.Net Core 3.0 RC1,最终版本定于9月23日
2019.9.17 微软 宣布推出.NET Core 3.0 Release Candidate 1.就像Preview 9一样,主要专注于为 .NET Core 3.0 发布最终版本 .现在变得非常 ...
- 关于ML.NET v1.0 的发布说明
今天,我们很高兴宣布发布 ML.NET 1.0.ML.NET 是一个免费的.跨平台的开源机器学习框架,旨在将机器学习(ML)的强大功能引入.NET 应用程序. ML.NET GitHub:https: ...
- 关于ML.NET v1.0 RC的发布说明
ML.NET是面向.NET开发人员的开源和跨平台机器学习框架(Windows,Linux,macOS).使用ML.NET,开发人员可以利用他们现有的工具和技能组,通过为情感分析,推荐,图像分类等常见场 ...
- .NET Conf 2019 大会上发布.NET Core 3.0
北京时间今天凌晨如期在.NET Conf 上发布.NET Core 3.0,Keynotes 由Scott Hunter 主演,主要围绕.NET Core 3.0的新特性和社区展开. 多功能性是.Ne ...
- 微软发布了开发社区采用.NET Standard的最新信息
最近,微软发布了开发社区当前采用.NET Standard的最新信息..NET Standard是API的正式规范,现有.NET实现在不同平台的是通用的(从而允许跨平台开发).当前规范(版本2.0)在 ...
- 微软重制Windows 1.0系统:祖师爷出山了
Windows官方推特在7月1日发布了一条很有趣的动态,“向大家介绍全新的Windows 1.0,带MS-DOS.时钟等”.配发的视频回顾了从Windows 1.0/3.1到Windows 10期间, ...
- 微软发布独立Android模拟器 为开发者提供测试
微软发布了 Visual Studio 2015 正式版,除了免费的社交版之外,另外也有付费的专业版.这套工具除了提供 Windows 应用程序的整合环境之外,你也可以利用它来开发 Android 程 ...
- 微软发布屏蔽Win10升级的官方办法
微软发布屏蔽Win10升级的官方办法 导读 微软似乎从来就没有像现在这么焦燥过,当然了,攸关生死,他要还是能"蛋"定得住,那才真叫怪了.你看,为了推广Windows 10,一向傲娇 ...
- 微软 microsoft calendar control 11.0 控件下载
微软 microsoft calendar control 11.0 控件下载 https://files.cnblogs.com/files/mqingqing123/csccal2.rar
随机推荐
- Java中代理和装饰者模式的区别
装饰模式:以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案: 代理模式:给一个对象提供一个代理对象,并有代理对象来控制对原有对象的引用: 装饰模式为所装饰的对象增强功能:代理模式对代理的对 ...
- oracle 触发器(自增写法)
触发器trigger 触发器我们也可以认为是存储过程,是一种特殊的存储过程. 存储过程:有输入参数和输出参数,定义之后需要调用 触发器:没有输入参数和输出参数,定义之后无需调用,在适当的时候会自动执行 ...
- 08-kubernetes 存储卷
目录 存储卷 emptyDir 测试及使用 Pod测试挂在共享NFS 写测试清单 测试 pv, pvc 创建几个PV 创建测试的Pod 和 PVC 存储卷 分为四种: 有状态,需要存储 有状态,无需存 ...
- postgresql密码加强-passwordcheck源码修改三种以上字符
目录 1.使用方式 2.效果 3.源码修改 1.参考pg_cron的源码在配置文件内增加一个参数 2.修改源码配置校验数字 因数据库入网检测须修改密码级别,在源有的passwordcheck插件上进行 ...
- 技术谈 | SDN 和 NFV 之间的爱与恨
部分开发者经常混淆 SDN 和 NFV,无法看清他们的关系.今天,小编搬出华为技术专家的一篇大稿,给大家掰扯掰扯:SDN 和 NFV 究竟是什么关系. ----文/闫长江 什么是 SDN 回到基本的概 ...
- 即将到来的“分布式云”(DPaaS):分布式计算+ DB +存储即服务
我在区块链会议上就即将到来的公共"分布式云"系统进行了讨论,该系统将主流的公共云平台(如AWS,Azure,Google Cloud,Heroku等)与区块链和P2P网络相结合,比 ...
- 一条数据的HBase之旅,简明HBase入门教程1:开篇
[摘要] 这是HBase入门系列的第1篇文章,主要介绍HBase当前的项目活跃度以及搜索引擎热度信息,以及一些概况信息,内容基于HBase 2.0 beta2版本.本系列文章既适用于HBase新手,也 ...
- Unity3D for iOS初级教程:Part 3/3(下)
转自:http://www.cnblogs.com/alongu3d/archive/2013/06/01/3111739.html 消息不会自动消除 你基本的游戏功能已经完成了,但是显示一些关于游戏 ...
- react-native android/ios 手动/自动 修改版本号
目录 一 手动操作 1.Android 2.IOS 二 自动从配置文件读取并写入相应的地方 1.package.json配置版本 2.Android: 3.IOS 添加sell代码 当版本迭代时候要修 ...
- JavaScript基础3
While循环 在指定条件为真时循环执行代码块.先确定条件再执行代码 语法 while(条件) { 需要执行的代码 } 条件中所用变量如果没有值,循环就不会停下,会导致浏览器崩溃: do...whil ...