大数据中如何使用机器学习模型快速进行图像分类识别

发布时间:2021-12-09 10:50:15 作者:柒染
来源:亿速云 阅读:337

本篇文章给大家分享的是有关大数据中如何使用机器学习模型快速进行图像分类识别,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

零、前言

我们介绍借助sklearn库创建用于进行分类预测的机器学习模型。对分类问题进行预测同样属于监督学习的范畴,通过对已知数据的类别的标记,来实现对未知数据的类别的预测和判定。

常见的应用领域包括:垃圾邮件识别、垃圾短信识别、图像分类识别等等。

常见的应用算法则有:SVM(支持向量机)、K紧邻、朴素贝叶斯、随机森林等等。

下面,我们就通过Digits手写数字集来进行机器学习分类模型的介绍。

一、初探手写数字数据集

本篇选用的手写数字数据集同样来自有sklearn.datasets子模块,其由著名的UCI 机器学习库提供:

大数据中如何使用机器学习模型快速进行图像分类识别

该数据集由1797个8x8图像组成。每个图像,都是手写数字。

就像上一篇导入波士顿数据集一样,我们从sklearn模块中进行导入:

大数据中如何使用机器学习模型快速进行图像分类识别

接着查看数据集中包含的子方法:

大数据中如何使用机器学习模型快速进行图像分类识别

与波士顿数据集类似,其提供了images、target_names、target、data、DESCR等方法。其中:

从这两个数据集可以发现,sklearn的API还是挺统一和规范的,很方便进行学习和调用。接下来,我们看看每个方法中到底都是些什么。

大数据中如何使用机器学习模型快速进行图像分类识别

通过查看images的形状,以及已知的图像为8×8的形状,我们可以得知,这个数据集中有1797个图像。看看其中一个图像的内容:

大数据中如何使用机器学习模型快速进行图像分类识别

这就是一个图像转换成数组之后的形式,我们怎么知道这是个什么图像呢?可以借助于matplotlib模块来将图像数组还原为图像。

可能之前搭建环境的时候没有安装这个模块,我们先来安装一下:

大数据中如何使用机器学习模型快速进行图像分类识别

然后引入matplotlib模块,调用imshow()方法:

大数据中如何使用机器学习模型快速进行图像分类识别

可以发现,iamges中的第一个图像似乎数字0。我们继续看下面的内容。

大数据中如何使用机器学习模型快速进行图像分类识别

data的target_name信息显示,我们的数据代表的数字分类类别为0到9。

大数据中如何使用机器学习模型快速进行图像分类识别

数据的目标值与数据集时匹配的,最后再看看data的data:

大数据中如何使用机器学习模型快速进行图像分类识别

数据量还是1797条,但是形状已经从二维的(8, 8)变成了一维的64,我们从一个具体的数据中看看:

大数据中如何使用机器学习模型快速进行图像分类识别

可以发现,data.data中的数组将之前8*8的数组合成为了一个数组,这样才能方便对图像的数组运用算法进行训练和计算。那又如何将一维的图像数组还原为图像呢,通过是上面的方法,但是需要先将一维数组转换一下形状:

大数据中如何使用机器学习模型快速进行图像分类识别

我们同样将数据集的特征和目标转换为pandas的DataFrame,方便各位同学理解数据集的形状:

大数据中如何使用机器学习模型快速进行图像分类识别

二、分割训练测试集

同样使用sklearn提供的train_test_split方法来对数据集进行训练集和测试集的分割:

大数据中如何使用机器学习模型快速进行图像分类识别

三、创建分类模型

在此,我们同样选择随机森林算法 作为机器学习模型估计器的基本算法来创建一个机器学习分类器并进行训练:

大数据中如何使用机器学习模型快速进行图像分类识别

四、评估模型

在训练完成模型之后,我们同样可以使用模型的predict()方法获取到测试集的预测结果:

大数据中如何使用机器学习模型快速进行图像分类识别

在面对回归模型的时候,我们可以使用平均绝对误差、均方差等方法对模型的效果进行评估,而在分类算法模型中,我们使用其他的方法进行模型效果的评估,比如:精度分类评分、召回评分等。而这些方法,也都在sklearn模块的metrics子模块下。

我们来对分类模型进行效果评估:

大数据中如何使用机器学习模型快速进行图像分类识别

两种评估方法的最佳结果值都是1,看起来我们的模型准确度还是蛮高的,大家可以尝试其他的算法构建分类模型。

以上就是大数据中如何使用机器学习模型快速进行图像分类识别,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

推荐阅读:
  1. 如何使用Keras预训练模型ResNet50进行图像分类
  2. Python构建图像分类识别器的方法

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

大数据

上一篇:HDFS中读写过程的示例分析

下一篇:java如何使用IO流的方式实现hdfs数据的上传和下载

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》