叮,您有一份ML.NET 速查手册请查收!

点击上方蓝字

关注我们

(本文阅读时间:7分钟)

本篇文章简要介绍 ML.NET 背景和面向 .NET 开发的特色功能,以及典型的机器学习编码示例,并分享自己整理的 ML.NET API 速查手册。

微软MVP实验室研究员

1aace262af1835cd91da8d716486697b.png

25981669852ac11fdde6daa983150af8.png

项斌

微软全球最有价值专家 MVP,《PyTorch机器学习从入门到实战》作者之一,杭州 FireUG 技术社区发起人之一。超过15+ 年 .NET 开发经历,在数据分析、机器学习、自动化领域近十年从事研发工作。

bf00c5ffe45fd5fad44a6b6760997c03.png

ML.NET 简介

05d1d8353bad137dbf0f36987fa50291.png

ML.NET 是面向.NET开发人员的跨平台机器学习框架,它具备在联机或本地环境中将机器学习模型集成到 .NET 应用程序中的能力。

512734650086d017437b1c01e05296fa.png

2002 年微软启动有一个研究项目命名为 TMSN,其意在“Test mining search and navigation”,后来它被改名为 TLC(The learning code)。ML.NET 正是派生自 TLC 库,最初被用于微软的内部产品。

ML.NET 的核心既可以通过指定算法来训练自定义机器学习模型,也可以导入预训练的 TensorFlow 和 ONNX 模型继续训练。生成模型后,可以将其添加到应用程序中进行预测。ML.NET 支持在使用 .NET Core/.NET Framework 的 Windows、Linux 和 macOS 上运行,所有平台均支持 64 位,此外 Windows 平台支持 32 位,但 TensorFlow、LightGBM 和 ONNX 相关功能除外。

ML.NET 集成了众多主流的转换器、算法库,通过 API 提供了丰富的数据处理对象和算法评估器,并且对 Infer.NET、NimbusML、Scikit-Learn、TensorFlow 等机器学习相关的包提供了方便地扩展机制。如果您是一位 .NET 开发者,您将很轻松地上手使用,并且将成果无缝集成到 .NET Core 应用程序中,特别是 ASP.NET Core 的 Web 应用中实现一些高级的智能服务。

逻辑回归模型示例

0cb4db8d76f465513456e80c65b9610b.png

简单示例训练一个用于二分类的逻辑回归模型代码如下:

//Step 1. Create an ML Context
var ctx = new MLContext();


//Step 2. Read in the input data from a text file for model training
IDataView trainingData = ctx.Data
    .LoadFromTextFile<ModelInput>(dataPath, hasHeader: true);


//Step 3. Build your data processing and training pipeline
var pipeline = ctx.Transforms.Text
    .FeaturizeText("Features", nameof(SentimentIssue.Text))
    .Append(ctx.BinaryClassification.Trainers
        .LbfgsLogisticRegression("Label", "Features"));


//Step 4. Train your model
ITransformer trainedModel = pipeline.Fit(trainingData);


//Step 5. Make predictions using your trained model
var predictionEngine = ctx.Model
    .CreatePredictionEngine<ModelInput, ModelOutput>(trainedModel);


var sampleStatement = new ModelInput() { Text = "This is a horrible movie" };


var prediction = predictionEngine.Predict(sampleStatement);

ML.NET 目前在 Github 上以开源项目进行持续更新迭代,最新的版本为1.6。

  • 开源项目示例

    https://github.com/dotnet/machinelearning

ML.NET 特色

2c37083bff3b4b54b30ac9860f0e7a06.png

ML.NET 支持的热门机器学习任务覆盖众多,包括了传统的分类、回归、聚类,也支持了有关时序和图像神经网络。目前已知的应用场景例如:情绪分析、产品推荐、价格预测、客户分层、对象检测、欺诈检测、峰值检测、图像分类、销量预测等等。

c965fa27f084ae75ded8c70c5935003d.png

ML.NET 对 .NET 开发者非常友好,它提供了 Visual Studio 扩展 Model Builder, 这是一个可视化的工具套件,以非常低门槛的操作要求即可快速训练出指定任务类型的机器学习模型,并且自动生成相关的源码,方便后续修改和维护。对于喜欢通过代码方式进行机器学习任务的伙伴,官方提供了丰富的文档和示例代码库。

d152d946eb296828ceb3bf7654721798.gif

另外,ML.NET 针对 CLI 也提供了命令行工具,而且是支持 AutoML 的,使得常见的机器学习场景实现零编码。

eb14eee0e85a6350c71cde4fdcf0279a.gif

  • 文档

    https://docs.microsoft.com/en-us/dotnet/machine-learning

  • 示例代码库

    https://github.com/dotnet/machinelearning-samples

速查手册

b0c2e9e2d98d9517e0335d56e0e48d10.png

通过 AutoML 生成的代码一开始阅读起来会有一点点不习惯,也不利于后续改造代码以适应开发者的实际需要。如果从来没有接触过机器学习的开发者,可能会担心记不住、看不懂、用不惯 ML.NET API 文档中密密麻麻基于专业术语的对象和方法,鉴于收集到如是实际开发者反馈的障碍,作者将 ML.NET API 按经典的机器学习实现步骤,把常用的方法整理成一份图册,并添加了一些代码片段用来帮助快速理解 API 对象和方法的使用规则。另外,图册底部把截止目前 ML.NET 已内置支持的模型训练器和数据转换器列成表格方便掌握完整信息。图册以高清矢量格式的图片分享出来,在编码的时候放在习惯的地方,像开发其他 .NET 应用一样可随时查看,一目了然。

3952d6e06059e5aa4589d7b8a1389ea5.png

免费领取高清 ML.NET 速查手册

298116f988d7cb462cb202374e9f2055.png

点击下方名片

进入“微软中国MSDN”

官方微信公众号

对话框内回复暗号:

ML.NET 速查手册

微软最有价值专家(MVP)

1e7917322c25054d60c90e5ab7b318ef.png

微软最有价值专家是微软公司授予第三方技术专业人士的一个全球奖项。29年来,世界各地的技术社区领导者,因其在线上和线下的技术社区中分享专业知识和经验而获得此奖项。

MVP是经过严格挑选的专家团队,他们代表着技术最精湛且最具智慧的人,是对社区投入极大的热情并乐于助人的专家。MVP致力于通过演讲、论坛问答、创建网站、撰写博客、分享视频、开源项目、组织会议等方式来帮助他人,并最大程度地帮助微软技术社区用户使用 Microsoft 技术。

更多详情请登录官方网站:
https://mvp.microsoft.com/zh-cn

419af4408d64a075b7c323596fb2de2b.png

7721a0827fdf1a0ffdac27e1cd032e47.gif

免费领取高清ML.NET速查手册

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 为了庆祝端午节,我们将在本月底发放一次特殊福利。福利将包括:为所有员工提供免费的粽子;为每位员工提供一份丰厚的端午节礼品;为每位员工提供一份端午节礼券;以及在端午节当天为所有员工提供更多的休息时间。所有员工按时享用端午节福利! ### 回答2: 尊敬的全体员工:大家好! 在这美好的端午佳节即将到来之际,首先感谢大家一直以来对公司的辛勤付出和努力。公司一直都非常关心员工的生活与福利,为了让大家度过一个愉快的端午节假期,特别为大家准备了一些福利,让大家感受到公司的关怀和温暖。 为此,公司决定在端午节前给予全体员工一定的福利。具体福利如下: 1.粽子礼盒:每位员工将收到一份粽子礼盒作为节日礼品,以表达公司对大家的祝福和感恩之情。希望大家在享用美味的粽子的同时,也能感受到公司对大家的关怀和温暖。 2.额外休假:为了让大家能够充分享受这个节日,公司决定为每位员工提供额外一天的休假时间,以使大家能够有足够的时间与家人共度佳节。希望大家能够在这一天里尽情放松,享受家庭团聚的快乐。 3.端午福袋:为了祝福大家在端午节期间平安健康,公司将为每位员工准备一个端午福袋,内含一些健康食品和节日用品。希望这些小礼物能够给大家带去欢乐和幸福。 此外,在端午节期间,公司将组织一场庆祝活动,届时将有各种有趣的游戏和互动环节,希望大家参与其中,放松身心,增加公司团队凝聚力和员工之间的友谊。 最后,希望大家能够珍惜这个假期时间,休息好,尽情享受节日的快乐。同时也希望大家能够继续保持对工作的热情和投入,在接下来的工作中取得更好的成绩。 祝大家端午节快乐,阖家幸福! 公司全体员工达+ ### 回答3: 亲爱的公司员工们: 端午节将至,为了营造浓厚的节日氛围,提高员工的幸福感和凝聚力,公司决定在这个特殊的节日里给大家发放福利。现将相关事项通知如下: 一、发放时间:福利将于端午节前两天(具体时间留意公司内部通知)发放到各个部门的办公室,大家注意查收。 二、福利内容:公司为大家精心准备了一份端午礼盒作为节日福利。礼盒内包含美味可口的粽子、精选的糕点以及其他特色美食等。希望大家能够在品尝美食的同时感受到公司对大家的关心和祝福。 三、领取方式:各部门负责人将会统一发放福利,大家只需前往各自所在的办公室领取即可。注意,每位员工仅限领取一份,务必珍惜有限的资源。 四、员工互动:为了让大家更好地共度节日,公司将组织一系列丰富多彩的端午节庆祝活动。活动包括传统的龙舟比赛、粽子包裹比赛、端午文化知识竞赛等。希望大家积极参与并互相支持,共同度过一个快乐而有意义的节日。 五、感谢与祝福:在这个特殊的节日里,公司感谢大家以往的辛勤工作和付出。希望大家能够在节日中放松身心,享受美食,与家人朋友共度美好时光。祝愿大家能够拥有一个幸福、健康的端午节! 最后,再次祝愿大家端午节快乐!愿福利能给大家带来一丝温暖和惊喜。祝愿公司的每一位员工都能够在工作和生活中获得更多的成功和快乐! 此致 敬礼 公司管理团队

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值