系列ML.Net 学习篇【一】——初识机器学习
创始人
2024-04-14 10:22:05
0

由于公司项目涉及到机器学习和图像识别,虽然我并不是算法专家,但毕竟需要了解和知道其运转原理,因此自我进行了学习进化,决定在机器学习上有所进展,结合.NET技术的ML.NET,把机器学习的技能提升一个Level,如果你也有兴趣学习机器学习,并且恰好也是熟悉.NET技术栈,那么就和我一块学习吧… r u ready?

  • 📢欢迎点赞 :👍 收藏 ⭐留言 📝 如有错误敬请指正,赐人玫瑰,手留余香!
  • 📢本文作者:由webmote 原创
  • 📢作者格言:无尽的折腾后,终于又回到了起点,工控,我来了 !

1.ML.NET 介绍

在这里插入图片描述
.NET 引入ML.NET,非常简单,只需要安装包即可。


微软官方的目的就是,让你无需离开 .NET 生态系统,便可以使用 C# 或 F# 创建自定义 ML 模型。并让你可以轻松地将机器学习集成到 Web、移动、桌面、游戏和物联网应用中。

所以如果你刚好有Python训练好的模型,而正在烦恼怎么应用到.NET平台上时,那么刚好可以使用ML.NET,使用你的模型,它基本兼容市面上所有常见的数据格式,ML.NET支持TensorFlow和ONNX模型。

如果你已经有了模型,那么你现在可以导入,并使其开始运行和预测产出。

目前ML.NET运行在 Windows,linux和macOS上,当然需要.NET Core/5/6/7等支持。

2.AutoML

全称是自动机器学习,给定数据集后,它可以运行 AutoML 来循环访问不同的数据转换、机器学习算法和超参数,以选择最佳模型,微软出品,就这么牛逼。

一般传统的机器学习工作流程如下:
在这里插入图片描述
其中预处理、训练和评估是一个实验性和迭代过程,需要多次试验,直到获得满意的结果。

由于这些任务往往是重复的,因此 AutoML 可以帮助自动执行这些步骤。 除了自动化之外,在训练和评估过程中还使用优化技术来查找和选择算法和超参数。
在这里插入图片描述

3 ML.NET能力范畴

ML.NET提供了预测模型,可以做以下工作。
在这里插入图片描述

4 使用ML.NET的流程

使用ML.NET来进行机器学习,其流程还是比较简单的。
1. 将训练数据收集并加载到 IDataView 对象中
2. 指定操作的管道,以提取特征并应用机器学习算法
3. 通过在管道上调用 Fit() 来训练模型 评估模型并通过迭代进行改进
4. 将模型保存为二进制格式,以便在应用程序中使用
5. 将模型加载回 ITransformer 对象 通过调用
6. CreatePredictionEngine.Predict() 进行预测

在这里插入图片描述

5. 一个小例子

来源自官网的一个例子,使用拟合斜线预测房价。

MLContext mlContext = new MLContext();
HouseData[] houseData = {new HouseData() { Size = 1.1F, Price = 1.2F },new HouseData() { Size = 1.9F, Price = 2.3F },new HouseData() { Size = 2.8F, Price = 3.0F },new HouseData() { Size = 3.4F, Price = 3.7F } };
IDataView trainingData = mlContext.Data.LoadFromEnumerable(houseData);// 2. Specify data preparation and model training pipeline
var pipeline = mlContext.Transforms.Concatenate("Features", new[] { "Size" }).Append(mlContext.Regression.Trainers.Sdca(labelColumnName: "Price", maximumNumberOfIterations: 100));// 3. Train model
var model = pipeline.Fit(trainingData);
var testPriceDataView = model.Transform(trainingData);
var metrics = mlContext.Regression.Evaluate(testPriceDataView, labelColumnName: "Price");// 4. Make a prediction
var size = new HouseData() { Size = 2.5F };
var price = mlContext.Model.CreatePredictionEngine(model).Predict(size);Console.WriteLine($"Predicted price for size: {size.Size * 1000} sq ft= {price.Price * 100:C}k");public class HouseData
{public float Size { get; set; }public float Price { get; set; }
}public class Prediction
{[ColumnName("Score")]public float Price { get; set; }
}

在这里插入图片描述
拟合回归是最简单的一个,也是入门最好的算法了。
模型也很简单,就是计算出 在这里插入图片描述

总结

一切看起来比较顺畅,祝你好运!
让我们每天进步一点点!

相关内容

热门资讯

银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...