当前位置: 首页 > 工具软件 > ML.NET > 使用案例 >

model builder_使用ML.Net和Model Builder入门AI

庾奇思
2023-12-01

model builder

机器学习是现代应用程序开发的重要工具。 我们已经从AI寒冬的寒冬发展到了新的神经网络和模型的爆炸式增长,它们都建立在云的超大规模计算能力和大数据服务需求的基础之上。 如果您是一名AI研究员,那么这是一个令人兴奋的时刻,每周都会有新发现和新工具到来。

但这只是故事的一部分。 机器学习的民主化更加令人兴奋。 研究是一件好事,但是将研究结果付诸实践并交到开发人员手中要好得多。 诸如Microsoft的Azure认知服务之类的API是执行此操作的一种方法,但并非每个应用程序都具有与Azure的永久连接,因此将ML工具内置到我们的日常开发环境和工具中非常重要。

[理解机器学习的意义: 人工智能,机器学习和深度学习:您需要知道的一切 | 机器学习的解释 | 机器学习算法的解释 | 深度学习解释了 | 通过InfoWorld大数据和分析报告时事通讯深入了解分析和大数据。 ]

ML.Net简介

就是ML.Net的用武之地 。 这是Microsoft针对.Net和.Net Core的开源,跨平台机器学习工具,针对.Net标准,在Windows,Mac OS和Linux系统上运行。 它具有可扩展性,因此不仅可以与Microsoft自己的ML工具一起使用,而且可以与其他框架(例如Google的TensorFlow和ONNX跨平台模型导出技术)一起使用。 通过尽可能广泛地支持各种框架,它使您可以选择并选择最接近您的ML模型,并对其进行微调。

ML.Net入门很容易 。 首先下载并安装ML.Net程序包,然后将适当的库添加到.Net代码中,并using语句在标头中声明它们。 它既处理训练又进行推理,因此您可以使用它来处理训练数据和实时数据,并使用迭代过程微调模型并提高准确性。

训练数据最初被加载到IDataView对象中,然后用于训练您选择的ML算法。 您可以通过选择一些扩展方法来构建ML管道,这些扩展方法可以实现统计和机器学习算法,加载数据并使用Fit()来训练模型。 一旦运行,您就需要评估结果并调整模型,进行迭代,直到对其性能满意为止。 训练后,将模型另存为二进制文件,然后将其加载到ITransformer对象中,然后再从CreatePredictionEngine.Predict()调用它

模型评估可能是训练过程中最重要的部分,因此您需要在准备训练数据之前进行准备。 清理训练数据集后,请隔离一些数据以用作测试数据集。 然后,您可以对照此数据检查模型,从而将结果与预测的输出相关联。

使用现成的机器学习模型或云托管的ML API是快速为代码添加智能的最流行方法,但它们可能无法为您的特定问题提供解决方案。 通用机器学习对于在Twitter提要中查找情绪或对房地产照片中的项目进行分类很有用,但是如果您想在喜马拉雅山的岩石地貌中发现雪豹或想要区分雪豹中的杂质,则这是不合适的。瓶啤酒和瓶的回收杯上的划痕。

使用Model Builder创建机器学习模型

尽管编写机器学习模型具有其优势,但是Microsoft提供了其他工具来帮助简化ML模型的构建和训练过程。 ML.Net Model Builder是一个Visual Studio扩展,它使用Microsoft的AutoML技术帮助您为特定的应用程序需求选择合适的ML算法,从而将您的IDE变成用于构建可直接放入代码中的自定义ML模型的工具。

开始使用Model Builder所需的只是Visual Studio的副本和足够的数据以用作训练集 从Visual Studio Marketplace下载它,以将其安装在Visual Studio中。 它的AutoML工具将使用基于一组捆绑方案的模板来基于您的训练数据生成模型,重点放在基于回归和基于分类的预测上。 捆绑的方案模板涵盖了情绪分析,问题分类,价格预测和自定义分析。

方案名称似乎将您锁定在特定的实现中,但是它们更加灵活。 例如,情感分析方案实际上是探索二进制分类的工具,您在这里询问“这是是还是否?” 这使您可以选择使用它来构建涵盖“这是垃圾邮件?”之类的模型。 或“这是有效的购买吗?” 或“此人有良好的信用风险吗?”

Model Builder当前处于预览状态, 因此训练集的大小存在一些限制 。 目前,在SQL Server中,它限制为1GB或10万行。 您可以将其安装在Visual Studio 2017或2019中,最低要求为.Net Core 2.1 SDK。

使用AutoML进行训练

安装完成后, 您可以选择一个方案并将Model Builder连接到训练数据集 。 在训练集中,选择要预测的属性以及用于预测该属性的输入。 例如,如果您试图建立一个预测航班是否准时的模型,则将到达时间标记为标记的属性,并使用诸如起飞时间,飞机类型,天气状况和乘客负荷等属性作为输入。 然后,“模型构建器”训练模型,建立将您的输入链接到预测输出的模型。 无需调整模型,它们全部由AutoML控制。 该过程可能需要时间。 1GB的数据集大约需要三个小时的训练时间。

使用Model Builder,您无需担心编写应用程序代码的麻烦,它们全都为您生成。 模型以zip文件的形式提供,并且您所需的所有代码都将添加到当前的Visual Studio解决方案中,以及可用于在将模型添加到应用程序之前对其进行测试的控制台应用程序。

使用Model Builder的优点之一是您不必预先准备训练数据。 它能够连接到常见的数据格式,最初连接到CSV和TSV文件以及SQL Server数据库。 Microsoft承诺在将来的版本中提供更多的文件格式和连接器,这将大大减少数据准备工作量。 一切都在本地运行,因此您无需在线即可构建和测试模型(尽管您可能需要一台功能强大的PC才能充分利用它)。

借助ML.Net和Model Builder,Microsoft在提供简单的机器学习框架方面已经走了很长一段路。 将易于使用的编程模型与自动模型生成器混合在一起是明智之举,就像将它们与熟悉的开发人员工具和环境集成在一起一样。 如果您想将AI添加到应用程序中,这是一个值得研究的组合。

翻译自: https://www.infoworld.com/article/3429650/get-started-with-ai-using-mlnet-and-model-builder.html

model builder

 类似资料: