原文地址:https://devblogs.microsoft.com/dotnet/announcing-ml-net-1-0/

我们很高兴地宣布今天发布ML.NET 1.0。  ML.NET是一个免费的,跨平台的开源机器学习框架,旨在将机器学习(ML)的强大功能引入.NET应用程序。

https://github.com/dotnet/machinelearning

入门@ http://dot.net/ml

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添加到现有应用程序中。

了解有关ML.NET模型构建器的更多信息

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 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,  f1x3dfeiyun0112,  forki,  harshsaver
helloguo,  hvitved,  Jongkeun,  JorgeAndd,  JoshuaLight,  jwood803,  kant2002,  kilick,  Ky7mllRandom,  malik97160,  MarcinJuraszek,  mareklinka
Matei13,  mfaticaearnin,  mnboos,  nandaleite,  Nepomuceno nihitb06Niladri24dutta,  PaulTFreedman,  Pielgrin,  pkulikov,  Potapy4,  Racing5372
rantri,  rantri,  rauhs,  robosek,  ross-p-smith,  SolyarASorrien,  suhailsinghbainsterop,  ThePiranha,  Thomas-SB,  timitoc,  tincann,  v-tsymbalistyi
van-tienhoang,  veikkoeevayamachu

如果您还没有,请试试ML.NET!

您的反馈对于我们帮助塑造ML.NET并使.NET成为机器学习的绝佳平台至关重要。

谢谢,
ML.NET团队

微软发布ML.NET 1.0的更多相关文章

  1. 微软发布.Net Core 3.0 RC1,最终版本定于9月23日

    2019.9.17 微软 宣布推出.NET Core 3.0 Release Candidate 1.就像Preview 9一样,主要专注于为 .NET Core 3.0 发布最终版本 .现在变得非常 ...

  2. 关于ML.NET v1.0 的发布说明

    今天,我们很高兴宣布发布 ML.NET 1.0.ML.NET 是一个免费的.跨平台的开源机器学习框架,旨在将机器学习(ML)的强大功能引入.NET 应用程序. ML.NET GitHub:https: ...

  3. 关于ML.NET v1.0 RC的发布说明

    ML.NET是面向.NET开发人员的开源和跨平台机器学习框架(Windows,Linux,macOS).使用ML.NET,开发人员可以利用他们现有的工具和技能组,通过为情感分析,推荐,图像分类等常见场 ...

  4. .NET Conf 2019 大会上发布.NET Core 3.0

    北京时间今天凌晨如期在.NET Conf 上发布.NET Core 3.0,Keynotes 由Scott Hunter 主演,主要围绕.NET Core 3.0的新特性和社区展开. 多功能性是.Ne ...

  5. 微软发布了开发社区采用.NET Standard的最新信息

    最近,微软发布了开发社区当前采用.NET Standard的最新信息..NET Standard是API的正式规范,现有.NET实现在不同平台的是通用的(从而允许跨平台开发).当前规范(版本2.0)在 ...

  6. 微软重制Windows 1.0系统:祖师爷出山了

    Windows官方推特在7月1日发布了一条很有趣的动态,“向大家介绍全新的Windows 1.0,带MS-DOS.时钟等”.配发的视频回顾了从Windows 1.0/3.1到Windows 10期间, ...

  7. 微软发布独立Android模拟器 为开发者提供测试

    微软发布了 Visual Studio 2015 正式版,除了免费的社交版之外,另外也有付费的专业版.这套工具除了提供 Windows 应用程序的整合环境之外,你也可以利用它来开发 Android 程 ...

  8. 微软发布屏蔽Win10升级的官方办法

    微软发布屏蔽Win10升级的官方办法 导读 微软似乎从来就没有像现在这么焦燥过,当然了,攸关生死,他要还是能"蛋"定得住,那才真叫怪了.你看,为了推广Windows 10,一向傲娇 ...

  9. 微软 microsoft calendar control 11.0 控件下载

    微软 microsoft calendar control  11.0 控件下载 https://files.cnblogs.com/files/mqingqing123/csccal2.rar

随机推荐

  1. python 2.x 中print >> sys.out ,print 与sys.out.write()的关系

    print 会调用 sys.stdout 的 write 方法 以下两行在事实上等价: sys.stdout.write('hello,python'+'\n') print 'hello,pytho ...

  2. c语言l博客作业02

    问题 答案 这个作业属于哪个课程 C语言程序设计l 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2019-2/homework/8687 我在这个 ...

  3. KNN学习笔记

    简单地说,KNN算法就是通过测量不同特征值之间的距离来对特征进行分类的一种算法. 优点:精度高.对异常值不敏感.无数据输入假定. 缺点:计算复杂度高.空间复杂度高. 适用数据范围:数值型和标称型. 工 ...

  4. python_tornado

    1.创建Tornado服务器    1.创建Application对象        Application是Torando最核心的类        所有关于服务器的配置信息都写在Applicatio ...

  5. Android Jni开发,报com.android.ide.common.process.ProcessException: Error configuring 错误解决方案

    今天在练习JNI项目时,Android studio版本为:3.1.3,Gradle版本为4.4.由于Android studio 3.X弃用了 android.useDeprecatedNdk=tr ...

  6. 《Windows内核安全与驱动开发》 4.4 线程与事件

    <Windows内核安全与驱动开发>阅读笔记 -- 索引目录 <Windows内核安全与驱动开发> 4.4 线程与事件 一.开辟一个线程,参数为(打印内容+打印次数),利用线程 ...

  7. Oracle_视图_索引_plsql_游标_存储过程_存储函数_触发器

    -- 感觉有用点个赞呗^v^ select * from emp; drop view persin_vw;--删除视图 create table emp as select * from scott ...

  8. CF1009F Dominant Indices(启发式合并)

    You are given a rooted undirected tree consisting of nn vertices. Vertex 11 is the root. Let's denot ...

  9. ARTS-S govendor

    govendor init govendor add +external

  10. Mybatis代码生成器Mybatis-Generator使用详解

    前提 最近在做创业项目的时候因为有比较多的新需求,需要频繁基于DDL生成Mybatis适合的实体.Mapper接口和映射文件.其中,代码生成器是MyBatis Generator(MBG),用到了My ...