机器学习PAI平台简单实现(一)

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时计算 Flink 版,5000CU*H 3个月
简介: 机器学习PAI平台简单实现(一)

开发者学习笔记【阿里云人工智能工程师ACA认证(2023版):机器学习PAI平台简单实现(一)】

课程地址:https://edu.aliyun.com/course/3112108/lesson/19265


机器学习PAI平台简单实现(一)

 

内容介绍:

一、基于机器学习PAI平台的豆荚害虫检测

二、基于机器学习PAI平台的发电场输出电力预测

三、基于机器学习PAI平台的新闻主题聚类

四、本章小结

 

机器学习的基本概念,我们通过机器学习的具体的案例来学习怎样在机器学习派平台下完成模型的训练,以及用模型的训练去进行推理和预测。

 

一、基于机器学习PAI平台的豆荚害虫检测

1. 基于机器学习PAI平台的豆荚害虫检测-实验背景

我们第一个实例是豆荚害虫检测,使用机器学习PAI平台来完成,菜用大豆和豌豆里面会有害虫或者是其他的杂质,这种检验检测它的准确率难保证,所以这个成为检验检疫部门一个重点的监控的对象。但这个问题就成企业生产线自动化发展的瓶颈。

传统的害虫检测的方法有染色体或者是比重法检测,但这种问题它对样本有破坏性,而且费时费力,现实加工企业中只能用人工去做,人工分选的方式去剔除这个豆荚里面内部的害虫,这种检测办法对劳动强度的要求高,效率又低,且受主观因素的影响。我们现在了解机器学习的技术,我们可以考虑通过机器学习的技术,对标注的豌豆的图片,然后进行学习,构建机器学习模型,训练好这个模型后,再用这个模型对没有标注的图片进行判断它是害虫,还是没有害虫,这样是有害虫还是没有害虫,这样保证识别的准确率。

我们看图是这个做数据准备工作,首先是有这个大豆、豌豆,然后人工把它挑选出来拍照,进行标注,我们看到图片 5 的时候,这里面标注出哪些是无虫的,有虫的,无虫的,能实现这种机器的识别自动去挑出来有害虫的和无害虫的这个生产线才可以实现自动化。从这个实例我们可以看得出机器学习的应用是应用领域是非常的广泛的。

图片495.png


我们接下来看在PAI平台里面怎么样用这个标注的数据去训练出有用的模型。


2. 基于机器学习PAI平台的豆荚害虫检测-实验流程

我们这里面列出怎么用机器学习的pai平台来做这个豆甲害虫检测的实验流程。首先进入 pai-designer 控制台,然后构建实验,后查看模型的运行效果。进入到pai-designer控制台后,首先要用二分类的各种评价指标,如准确率、精确度、召回率、 F1 分数等。然后将这个预测的结果写入到 Pre model 组里面进行保存。

我们先看下的图,是用 model class 组件,我们看这个图标,这是一个数据源,它叫 model class,你把它拉上来这个组件后,它会编号是1,先把这个数据源拉进来,我们使用这个数据源这个组件来读取训练数据集。拉进这个后,我们再加一个拆分组件,通过这个拆分组件把拉进来的这个数据集进行 5: 1 的比例拆分,把这个拆分后,得到一个训练集和一个验证集,训练集的数据到接下来的逻辑 2 回归训练模型,也就是我们使用训练集去训练得到逻辑回归二分类模型,得到这个模型之后再用这个模型这个模型做预测。

用这个模型做预测,使用的数据就是刚才划分的那部分验证集来做验证好,这个可以预测,得到结果是premodel,这个是预测得到结果,可以对照原来的验证集,然后预测你还可以得到混淆矩阵,得到二分类评估。

对于分类任务,可以使用多个组件对模型预测的结果进行评估,连接混淆矩阵组件就可以看输出模型预测的混淆矩阵,那个二分类评估可以,这个模型训练出来之后可以输出,把这个模型进行保存,保存后在测试的时候可以把这个模型直接加载,直接用这个模型进行测试,也就是像右边这个图一样,把这个直接读取。

然后你的测试数据可以再选 model test,把这数据再选出来,再去做预测,得到的预测结果同样可以查看,最后这个 model test 这个里面得到测试的数据集,整理的过程比较简单,就这里大家关注我们在引入数据之后进行逻辑二分类,逻辑回归二分类,然后去做预测,预测完之后得到混淆矩阵二分类评估来看这个预测的结果。

图片496.png


 

3. 基于机器学习PAI平台的豆荚害虫检测-实验结果

在实验运行结束后,我们可以把这个模型保存,当然这个模型你要去检测,去查看它的如混淆矩阵精确率,召回率到底是怎么样,判断这个模型是否可用能不能满足实际生产应用中的需求有这个模型之后怎么使用这个模型保存之后你可以直接载入,有新的数据进来后,直接用这个模型进行运算,这个时候就会输出对样本的预测,它到底是有虫的还是无虫的?下面是预测结果,预测结果是刚才那个 model test result,预测的结果里面一个是这个结果的一个编号,一个是 predication result ,就是预测的 01 的结果,这个1代表的是有虫的,然后 0 代表是无虫的,这个结果就是01。

其实是做一个是否的判断,它这里怎样得到这个判断?它这里有一个predictions score 就是预测的评分,我们可以看到这里预测的评分跟它预测的结果之间也是有对应的关系的。

图片497.png


我们看这个机器学习,学习完之后得到模型,对于模型评估时,我们用到混淆矩阵,先看第一个,这种情况下我们看到它真实的和预测的数据都是判断为 0 ,预测为0,真实也为0,是13,这个预测唯一的,然后真实也唯一的是这样的。

像这个比例矩阵,我们能知道他成功预测这个错误的,都是 0 的是概率是 0. 87,成功预测都是1是全部都是正确的,通过这个矩阵我们就很容易看出这个模型的预测效果。这里有统计信息,会更明显。我们这里面有两个模型, 0 和1两个模型,他们的预测的正确数、错误数,是不一样的。他们的预测的准确率、精确率、召回率和 F1 指标都直接做一个很明显的对比,就知道哪一个模型会更好。也就是我们用这种模型评估的信息来判断我们应该用哪一个模型,这个模型能不能达到你工业里面应用的需求。

图片498.png

 

二、基于机器学习PAI平台的发电场输出电力预测

1. 基于机器学习PAI平台的发电场输出电力预测-实验背景

接下来我们通过机器学习 PAI 平台,对发电场输出电力做预测。

这个数据,先来了解这个数据是从 UCI 数据集里得到 ,UCI 这个数据集是公开的数据集,这个数据集是混合发电厂的数据,混合发电厂它是收集 6 年的数据,从 2006 年到 2011 年,有 9568 条。

收集数据时,当时发电厂是满负荷运行的,收集的这个数据的特征包括有at、 v、a t 是温度、 v 是压力、 AP 是湿度、 RH 是压强,前面是这四个,后面这个 PE 指的是输出的电力,因为是发电厂,它的输出是电力。这个数据表里面是这样的,最后这个这一列是它的输出值。

一个基本的判断是它输出的电力是跟前面这几个要素是有关的,即温度、压力、湿度、压强这些都会影响到它最终的电力的输出,有了这些数据后,我们自然而然的会想这个他们是有关系的,使用什么关系?应该是一种线性回归的关系,我们可以用线性回归找这些因素跟电力之间的关系。这样我们可以用这个预测未来在什么温度、压力等的情况下,它这个输出的电力可能是怎么样的。然后通过这个分析可能也更了解哪些因素会对这个输出电力会有更积极的影响。

图片499.png


 

2. 基于机器学习PAI平台的发电场输出电力预测-实验流程

我们学习怎么样进行这个实验,我们还是用这个 PAI平台进入 PAI design 控制台,然后构建这个实验。这个实验相对比较简单,很明确的是用线性回归,首先还是读取数据表,因为这个数据集比较常用,在我们的平台上已经内置,所以读取数据表选好数据的来源就可以。读取数据集后,我们可以连接这个相关系数矩阵,通过这个相关系数矩阵,我们可以直接计算出来这个数据里面的各个因素之间的它们相关的系数。也就是温度、压力、湿度、压强,还有输出电力之间两两相关的系数。相关系数的值是从 - 1 到 1 这个范围。如果相关系数是大于 0 ,就是这两个字段是正相关。如果相关系数是小于0,就是负相关,它相关系数越接近1,就说明他们就越相关。

当这个数据的特征太多的时候,如果数据特征我们这比较简单,只有 5 个,只有 4 个。如果是数据特征太多的时候,所以先计算相关系数矩阵,找到这个哪些相关,哪些是不相关,然后可以用相关系数矩阵去掉那些对于结果预测没有帮助的字段,就计算量就可以减少很多。这个实验里面的由于特征比较少,所以也没有更进一步,没有通过这个相关系数矩阵来过滤不需要的特征。

我们把这个原始数据进行拆分,将原始数据拆分跟前面一样,也是划分为训练集和测试集,训练集测试集的比例我们在这个实验里可以划分成 1: 4,这个比例怎么划分可以在这个拆分的组件的属性里面直接设置,设置完之后它可以分出两条线,一个就是测试集,一个就是训练集。

拆分完之后,我们最重要的就开始,因为我们认为它是线性关系,所以使用线性回归模型,就放置一个线性回归模型到这里,进行模型的训练,把这个训练集跟线性回归模型连接后,你需要去选择数据的特征和标签,因为你要确定就我们要去相关的测的是电力输出,所以这个不要设置错。

训练完成模型之后,我们就可以用这个测试集训练完的模型和测试集来做预测,通过这个预测组件可以输出测试结果,在我们的实验里面可以查看测试值,最后我们再用回归模型评估,对预测的结果进行评估,就可拿到这个评估的模型的指标。这个实验的过程很简单,因为这个数据量不是很大,所以这个实验完成起来也比较快。

图片500.png

 

3. 基于机器学习PAI平台的发电场输出电力预测-实验结果

我们在实验结束运行之后,可以看各个特征它对电力 PE 的影响,电力输出的影响。

我们看下面这个图,这是相关系数矩阵的图,这个图里能够看出来对于 PE 的影响,这个从大到小依次是温度 a t ,然后是压力,是湿度 AP ,是压强RH。

这个图大家注意就是这个我们刚才说的它这个取值的范围是 - 1 到1,越接近1就越是相关,当然是大于 0 的是正相关,小于 0 的就是负相关。

我们看 PE 跟 a t,也就是 PE 跟这个温度它是负的0. 95,这说明它们是很强的,因为它接近 -1,所以是很强的负相关。 v 跟 PE 也就压力跟这个电力输出也是很强的负相关。 AP 跟这个湿度就是比较强的正相关,压强就是有点弱,有点弱的正相关。

图片501.png


这种分析的时候我们就知道它这个特征跟这个输出值之间的影响。刚才我们也提到如果这个特征有很多,就可以通过相关系数矩阵去分析哪些特征是强,哪些是弱,当然我们要留下这个比较强的特征,基于机器学习 PAI 平台的发电厂的电力输出预测,我们就讲到这里。

相关实践学习
使用PAI-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
1月前
|
机器学习/深度学习 测试技术
阿里云入选Gartner数据科学和机器学习平台挑战者象限
Gartner® 正式发布了《数据科学与机器学习平台魔力象限》报告(Magic Quadrant™ for Data Science and Machine Learning Platforms),阿里云成为唯一一家入选该报告的中国厂商,被评为“挑战者”(Challengers)。
|
4月前
|
机器学习/深度学习 人工智能 Shell
人工智能平台PAI操作报错合集之在分布式训练过程中遇到报错,是什么原因
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
4月前
|
机器学习/深度学习 人工智能 数据处理
人工智能平台PAI操作报错合集之任务重启后出现模型拆分报错,该怎么办
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
1月前
|
机器学习/深度学习 人工智能 算法
机器学习【教育领域及其平台搭建】
机器学习【教育领域及其平台搭建】
47 7
|
2月前
|
机器学习/深度学习 算法 数据挖掘
Python数据分析革命:Scikit-learn库,让机器学习模型训练与评估变得简单高效!
在数据驱动时代,Python 以强大的生态系统成为数据科学的首选语言,而 Scikit-learn 则因简洁的 API 和广泛的支持脱颖而出。本文将指导你使用 Scikit-learn 进行机器学习模型的训练与评估。首先通过 `pip install scikit-learn` 安装库,然后利用内置数据集进行数据准备,选择合适的模型(如逻辑回归),并通过交叉验证评估其性能。最终,使用模型对新数据进行预测,简化整个流程。无论你是新手还是专家,Scikit-learn 都能助你一臂之力。
132 8
|
3月前
|
机器学习/深度学习 API 网络架构
"解锁机器学习超级能力!Databricks携手Mlflow,让模型训练与部署上演智能风暴,一触即发,点燃你的数据科学梦想!"
【8月更文挑战第9天】机器学习模型的训练与部署流程复杂,涵盖数据准备、模型训练、性能评估及部署等步骤。本文详述如何借助Databricks与Mlflow的强大组合来管理这一流程。首先需在Databricks环境内安装Mlflow库。接着,利用Mlflow跟踪功能记录训练过程中的参数与性能指标。最后,通过Mlflow提供的模型服务功能,采用REST API或Docker容器等方式部署模型。这一流程充分利用了Databricks的数据处理能力和Mlflow的生命周期管理优势。
142 7
|
3月前
|
机器学习/深度学习 运维 算法
【阿里天池-医学影像报告异常检测】3 机器学习模型训练及集成学习Baseline开源
本文介绍了一个基于XGBoost、LightGBM和逻辑回归的集成学习模型,用于医学影像报告异常检测任务,并公开了达到0.83+准确率的基线代码。
65 9
|
4月前
|
数据采集 人工智能 自然语言处理
阿里云百炼平台深度体验:智能问答与模型训练的创新之旅
在人工智能的浪潮中,阿里云百炼平台以其强大的大模型开发能力,为企业和个人开发者提供了一站式的解决方案。本文将从知识检索应用搭建、模型训练调优以及流程管理功能三个角度,全面评测阿里云百炼平台的实际使用体验。
303 3
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
基于PAI-QuickStart搭建一站式模型训练服务体验
【8月更文挑战第5天】基于PAI-QuickStart搭建一站式模型训练服务体验
124 0
|
3月前
|
机器学习/深度学习 人工智能 Linux
【机器学习】Dify:AI智能体开发平台版本升级
【机器学习】Dify:AI智能体开发平台版本升级
230 0