Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >C#开源跨平台机器学习框架ML.NET----介绍与环境搭建

C#开源跨平台机器学习框架ML.NET----介绍与环境搭建

作者头像
Vaccae
发布于 2019-09-05 09:50:35
发布于 2019-09-05 09:50:35
3.2K0
举报
文章被收录于专栏:微卡智享微卡智享

现在学习机器学习这块时,基本上都是要先学习Python,还要自己去学习更多的样本数据教程,这样对于使用C#学习机器学习的基础并不容易,于是微软推出了ML.NET的开源跨平台机器学习框架。

什么是ML.NET?

ML.NET 使你能够在联机或脱机场景中将机器学习添加到 .NET 应用程序中。借助此功能,可以使用应用程序的可用数据进行自动预测,而无需连接到网络。

通过ML.NET进行的预测类型的包括:

分类/类别划分

自动将客户反馈划分为正面和负面类别

回归/预测连续值

根据大小和位置预测房屋价格

异常情况检测

检测欺诈性银行交易

建议

根据在线购物者之前的购买情况向其建议可能想要购买的产品

ML.NET的代码工作流

以下关系图表示应用程序代码结构,以及模型开发的迭代过程:

将训练数据收集并加载到 IDataView 对象中

  • 指定操作的管道,以提取特征并应用机器学习算法
  • 通过在管道上调用 Fit() 来训练模型
  • 评估模型并通过迭代进行改进
  • 将模型保存为二进制格式,以便在应用程序中使用
  • 将模型加载回 ITransformer 对象
  • 通过调用 CreatePredictionEngine.Predict() 进行预测

机器学习模型

ML.NET 模型是一个对象,它包含为了获得预测输出而要对输入数据执行的转换。

Basic

最基本的模型是二维线性回归,其中一个连续数量与另一个连续数量成比例关系,如上述房价示例所示。

Price=b+Size∗w

参数 b 和 w通过根据一组 (size, price) 对拟合一根直线来进行估算。用于查找模型参数的数据称为训练数据。机器学习模型的输入称为特征

Size是唯一的特征。用于训练机器学习模型的真值称为标签。Price值是标签。

更复杂

更复杂的模型使用事务文本描述将金融事务分类为类别。

通过删除冗余的字词和字符,以及对字词和字符组合进行计数,每个事务描述都被分解为一组特征。该特征集用于基于训练数据中的类别集训练线性模型。新描述与训练集中的描述越相似,它就越有可能被分配到同一类别。

房屋价格模型和文本分类模型均为线性模型。根据数据的性质和要解决的问题,还可以使用决策树模型、广义加性模型和其他模型。可以在任务中找到有关模型的详细信息。

ML.NET的创建与安装

ML.NET安装的几个核心注意事项

  1. .NET Framework的版本不能低于4.6.1
  2. 只能在64位的系统下运行,不支持x86和Any CPU

创建项目

我用的VS2017,接下来我们就看看怎么在VS2017中使用ML.NET

打开VS2017,新建项目,选择Windows窗体应用,输入项目名称为MLDemo,框架选择.Net Framework 4.6.1

创建好后在右侧解决方法中鼠标右键引用--管理NuGet程序包

在浏览框输入MLNET搜索,找到MLNET后进行安装

点击安装,如果此时.net framework不是4.6.1或以上,这里就会报错了

下面提示已完成代表安装成功了

我们从左侧引用处可以看到了ML.NET相关的库已经都安装加载进来

配置管理器设置

安装好ML.NET后,需要我们进行配置管理器设置,主要就是输出为64位的方案,前面提到过,ML.NET只支持X64的平台。

点击中间位置的Debug Any CPU右边的下拉按钮,选择配置管理器

点击右键活动解决方案平台的下拉按钮选择新建

按下图点击确定

我们重新看一下现在平台改为x64了,到这里ML.NET的框架就搭建完成了。

下一篇开始我们就介绍ML.NET的使用方法。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-09-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 微卡智享 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
一个开源的,跨平台的.NET机器学习框架ML.NET
微软在Build 2018大会上推出的一款面向.NET开发人员的开源,跨平台机器学习框架ML.NET。 ML.NET将允许.NET开发人员开发他们自己的模型,并将自定义ML集成到他们的应用程序中,而无需事先掌握开发或调整机器学习模型的专业知识。在采用通用机器学习语言(如R和Python)开发的模型,并将它们集成到用C#等语言编写的企业应用程序中需要付出相当大的努力。ML.NET填平了机器学习专家和软件开发者之间的差距,从而使得机器学习的平民化,即使没有机器学习背景的人们能够建立和运行模型。通过为.NET创建
张善友
2018/06/19
1.6K0
C#开源跨平台机器学习框架ML.NET----结合SqlSugar进行多类分类
前一篇文章《C#开源跨平台机器学习框架ML.NET----二元分类情绪分析》我们做了ML.NET中二元分类任务的一个小Demo,今天我们来试一下多类分类的Demo。
Vaccae
2019/09/17
1.3K0
C#开源跨平台机器学习框架ML.NET----结合SqlSugar进行多类分类
使用C# 探索 ML.NET 中的不同机器学习任务
ML.NET 是 Microsoft 开源的针对 .NET 应用程序的 跨平台机器学习库,允许您使用 C#、F# 或任何其他 .NET 语言执行机器学习任务。此外,ML.NET 支持在其他机器学习框架中构建的模型,如TensorFlow,ONNX,PyTorch 等,它也具有极高的性能,可用于各种机器学习任务。
张善友
2022/03/30
1.6K0
使用C# 探索 ML.NET 中的不同机器学习任务
微软开源 ML.NET 跨平台机器学习框架,AI 普及又向前跨进一步
AI 研习社按,当地时间 5 月 7 日,微软 Build 大会在美国西雅图召开,会上微软针对开发者发布了一系列新产品。详细信息参见 Build 大会中的 AI:微软 AI 云服务全线更新。在这一系列产品发布的同时,AI 研习社注意到,微软同时宣布开源机器学习框架——ML.NET。利用 ML.NET,开发人员可以直接上手已有的模型,无需具备开发或调节机器学习模型的专业知识。
AI研习社
2018/07/26
4280
微软开源 ML.NET 跨平台机器学习框架,AI 普及又向前跨进一步
微软发布开源跨平台机器学习框架ML.NET 0.2版本
上个月在Build 2018年微软发布了ML.NET 0.1,一个跨平台的开源机器学习框架。今天又发布了ML.NET 0.2。这个版本侧重于添加新的ML任务,比如集群,使验证模型更容易,为ML.NET示例添加一个全新的repo,并解决我们在GitHub repo中收到的各种问题和反馈。
程序你好
2018/07/23
4540
微软发布开源跨平台机器学习框架ML.NET 0.2版本
C#使用ML.Net完成人工智能预测
Visual Studio2019 Preview中提供了图形界面的ML.Net,所以,只要我们安装Visual Studio2019 Preview就能简单的使用ML.Net了,因为我的电脑已经安装了Visual Studio2019,所以我不需要重头安装Visual Studio2019 Preview,只要更新即可。
Kiba518
2020/12/09
1.2K0
C#使用ML.Net完成人工智能预测
使用ML.Net和CSharp语言进行机器学习
本文介绍.net中的机器学习技术实现,不涉及数学方面的内容。它将重点关注在.net中的基本工作流程及其数据处理结构,以及怎么样通过使用开源项目ML.Net 0.2来进行机器学习的实验。
程序你好
2018/07/23
2.4K0
微软又开源了一个机器学习框架,这次是核心产品的机器学习引擎infer.NET
在开源了跨平台机器学习框架ML.NET之后,微软又开源了一个非常重要的机器学习框架:infer.NET,而且采用的还是MIT许可证。
量子位
2018/10/26
8550
.NET开发人员如何开始使用ML.NET
随着谷歌,Facebook发布他们的工具机器学习工具Tensorflow 2和PyTorch ,微软的CNTK 2.7之后不再继续更新(https://docs.microsoft.com/zh-cn/cognitive-toolkit/releasenotes/cntk_2_7_release_notes),Build 2019 微软也发布了ML.NET 1.0 ,这是一个面向机器学习开发者的新框架。可以说2019年是机器学习社区普及化的一年,所有的这些发布清楚地表明了IT行业的发展方向。从数据集改进模型到新的模型更新,以及优化硬件。
张善友
2019/07/02
1.2K0
C#开源跨平台机器学习框架ML.NET----二元分类情绪分析
右键项目引用选择管理NuGet管理嚣后在浏览里搜索ML,然后找到Microsoft.ML和Microsoft.ML.FastTree进行安装
Vaccae
2019/09/09
1K0
C#开源跨平台机器学习框架ML.NET----二元分类情绪分析
ML.NET 快速入门与实践指南:Net机器学习利器
ML.NET 是一个跨平台的开源机器学习框架,专门为 开发者设计,允许在 .NET 应用程序中集成机器学习功能。如果你想在 .NET 应用中使用机器学习,ML.NET 是一个很好的选择。
郑子铭
2025/04/07
1080
ML.NET 快速入门与实践指南:Net机器学习利器
译 | 宣布ML.NET 1.2 及模型生成器更新(用于 .NET 的机器学习)
我们很高兴地宣布ML.NET 1.2 和模型生成器和 CLI 的更新。ML.NET是 .NET 开发人员的开源和跨平台机器学习框架。ML.NET还包括模型生成器(Visual Studio 的简单 UI 工具)和ML.NET CLI(命令行界面),以便使用自动机器学习 (AutoML) 构建自定义机器学习 (ML) 模型变得超级简单。
Edi Wang
2019/07/22
1.2K0
译 | 宣布ML.NET 1.2 及模型生成器更新(用于 .NET 的机器学习)
AI与.NET技术实操系列(二):开始使用ML.NET
在当今技术飞速发展的时代,机器学习(Machine Learning, ML)已成为推动创新和变革的核心力量。从智能推荐系统到自动化决策工具,ML的应用无处不在,深刻影响着我们的生活和工作方式。对于.NET开发者而言,掌握ML技术不仅意味着紧跟潮流,更是在竞争激烈的市场中保持优势的关键。作为微软的旗舰开发平台,.NET通过ML.NET为开发者提供了一个强大且易于使用的机器学习框架,使他们能够在不离开熟悉的开发环境的情况下,构建、训练和部署ML模型。
AI.NET 极客圈
2025/03/20
1520
AI与.NET技术实操系列(二):开始使用ML.NET
微软发布ML.NET 1.0
原文地址:https://devblogs.microsoft.com/dotnet/announcing-ml-net-1-0/
张善友
2019/07/02
9600
使用ML.NET模型生成器来完成图片性别识别
ML.NET 使你能够在联机或脱机场景中将机器学习添加到 .NET 应用程序中。 借助此功能,可以使用应用程序的可用数据进行自动预测。 机器学习应用程序利用数据中的模式来进行预测,而不需要进行显式编程。
雪雁-心莱科技
2020/11/02
1.6K0
使用ML.NET模型生成器来完成图片性别识别
.NET机器学习 ML.NET 1.4预览版和模型生成器更新
ML.NET 是面向.NET开发人员的开源和跨平台机器学习框架。 ML.NET 还包括Model Builder (一个简单的UI工具)和 CLI ,使用自动机器学习(AutoML)构建自定义机器学习(ML)模型变得非常容易。
张善友
2020/06/19
1.9K0
.NET机器学习 ML.NET 1.4预览版和模型生成器更新
使用ML.NET训练一个属于自己的图像分类模型,对图像进行分类就这么简单!
今天大姚给大家分享一个.NET开源、免费、跨平台(支持Windows、Linux、macOS多个操作系统)的机器学习框架:ML.NET。并且本文将会带你快速使用ML.NET训练一个属于自己的图像分类模型,对图像进行分类。
追逐时光者
2024/07/16
3510
使用ML.NET训练一个属于自己的图像分类模型,对图像进行分类就这么简单!
.NET 基金会项目介绍-ML.NET
ML.NET 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。
newbe36524
2020/03/16
7330
机器学习系统简介
以下段落旨在更详细地介绍 ML 系统如何呈现自身以及当今与现实世界中的应用程序开发相关的主要挑战。
iOSDevLog
2019/05/15
7490
机器学习系统简介
高效理解机器学习
对于初学者来说,机器学习相当复杂,可能很容易迷失在细节的海洋里。本文通过将机器学习算法分为三个类别,梳理出一条相对清晰的路线,帮助初学者理解机器学习算法的基本原理,从而更高效地学习机器学习。
一点人工一点智能
2023/08/25
2910
高效理解机器学习
推荐阅读
相关推荐
一个开源的,跨平台的.NET机器学习框架ML.NET
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档