• 工作总结
  • 工作计划
  • 心得体会
  • 述职报告
  • 事迹材料
  • 申请书
  • 作文大全
  • 读后感
  • 调查报告
  • 励志歌曲
  • 请假条
  • 创先争优
  • 毕业实习
  • 财神节
  • 高中主题
  • 小学一年
  • 名人名言
  • 财务工作
  • 小说/有
  • 承揽合同
  • 寒假计划
  • 外贸信函
  • 励志电影
  • 个人写作
  • 其它相关
  • 生活常识
  • 安全稳定
  • 心情短语
  • 爱情短信
  • 工会工作
  • 小学五年
  • 金融类工
  • 搞笑短信
  • 医务工作
  • 党团工作
  • 党校学习
  • 学习体会
  • 下半年工
  • 买卖合同
  • qq空间
  • 食品广告
  • 办公室工
  • 保险合同
  • 儿童英语
  • 软件下载
  • 广告合同
  • 服装广告
  • 学生会工
  • 文明礼仪
  • 农村工作
  • 人大政协
  • 创意广告
  • 您现在的位置:六七范文网 > 其它相关 > 正文

    基于机器学习的红酒质量分类研究

    来源:六七范文网 时间:2023-05-10 18:15:19 点击:

    裴文华

    (西安财经大学 统计学院, 西安 710100)

    红酒是一种有着悠久历史的饮品,早在公元前1 000年,红酒就已经在地中海沿岸大部分地区传播,并逐渐发展成为受大众欢迎的高档饮品[1]。随着红酒的受众越来越多,人们对红酒的品质也更加注重,但一款红酒的品质如何来断定还有待考究。本文主要是对红酒品质做分类算法。分类算法的主要思想是对各类型数据(包括文本数据、数值型数据、标称型数据等)建立二分类或多分类模型。机器学习中能够做分类算法的模型很多,包括决策树、随机森林、神经网络等,通过从UCI数据库官网下载葡萄酒质量数据集中的红酒质量数据,对其品质建立分类算法讨论分析,并对几种算法的精度进行比较,找出较适合的模型。

    本文使用的数据为葡萄酒质量数据集,来源于UCI数据库官网。该数据集中含有两个csv表格,即白葡萄酒质量和红葡萄酒质量表。该数据集可以用来做分类和回归的机器学习。每个数据集中包含11个物理化学测试特征属性,即表中前11列分别为固定酸度、挥发性酸度、柠檬酸、残余糖、氯化物、游离二氧化硫、二氧化硫总量、密度、pH、硫酸盐和酒精,第12列为酒的质量评分,在0~10。红葡萄酒质量数据为1 599行12列,白葡萄酒质量数据为4 898行12列。为了使模型的建立更简单化,使用较少数据的红葡萄酒质量进行分析。图1为Jupyter lab编写程序运行的结果,具体信息为红葡萄酒质量数据的前5行数据,可以清晰地看到每行有11个特征属性,最后一列quality是得分。

    1)通过编写Python程序绘制了数据中特征分布的直方图,如图2所示。从图中能够初步了解各特征的分布情况,比如第一个图表明了红葡萄酒的固定酸度集中在7.5左右;
    而第二个图挥发性酸集中在0.5左右;
    柠檬酸的分布比较均匀,在0~0.5之间;
    密度的直方图显示对称分布,等等。

    2)对质量评分计数并绘制相关图,如图3所示。从图中可以看出得分为5和6的总量最多,而得分为3和8的总量最少,得分为4的总量较少。

    图1 红葡萄酒质量前5行数据

    图2 特征分布的直方图

    图3 质量评分计数

    3.1 决策树

    决策树(decision tree,DT)是一种用于分类和回归的机器学习方法,它利用树形结构进行决策[2]。郑少伟和王昕在研究机器学习时还提到决策树的本质是一种if-then结构[3]。建立决策树模型通常有基于信息增益的ID3、基于信息增益率的C4.5和基于基尼系数的CART等[4]。决策树在分类回归问题上具有良好的稳定性,但该算法不支持在线学习,且容易造成过拟合问题的产生[5]。构造决策树的关键有3点,分别是最佳属性的选择、属性的分割以及决策树的修剪。对于分类决策树来说,衡量“最佳”的指标叫作不纯度,即不纯度越低,决策树对训练集的拟合就越好。Sklearn中提供了两种决定不纯度的选择,即信息增益和基尼指数。计算公式分别为

    (1)

    (2)

    式中:t代表给定的结点;
    i代表标签的任意分类;
    p(i|t)代标签分类i在结点t上所占的比例。图4可以形象地描述决策树算法。

    图4 决策树算法原理

    3.2 朴素贝叶斯分类器

    朴素贝叶斯分类器(Naïve Bayes classifier,NBC)是贝叶斯分类模型中一种最简单、有效而且易于实现的分类器,其基本思想是:对于待分类的样本,求解在此项出现的条件下各个类别出现的概率,将此待分类项归类为概率最大的类别[6]。朴素贝叶斯分类器采用了“属性条件独立性假设”:对已知类别,假设所有属性相互独立[7]。贝叶斯定理公式为

    (3)

    式中:P(c)为类“先验”概率,p(x|c)是样本x相对于类标记c的类条件概率;
    P(x)为用于归一化的“证据”因子。基于属性条件独立性假设,贝叶斯公式重写为

    (4)

    式中:d为属性数目;
    xi为x在第i个属性上的取值[7]。

    3.3 K近邻

    K近邻(k-nearest neighbor,KNN)算法是一种常用的监督学习方法,其思想是给定测试样本,基于某种距离度量找出训练集中与其最靠近的k个训练样本,然后基于这k个“邻居”的信息来进行预测[7]。即物以类聚人以群分的表现,相近的人必然会存在类似的属性。常用的距离公式是欧氏距离[8],描述的是在d维空间中两点的真实距离,设x=(x1,x2,,xd)T和y=(y1,y2,,yd)T之间的距离D(x,y)定义为

    (5)

    3.4 支持向量机

    支持向量机(support vector machines,SVM)是一种有监督的机器学习的分类方法,目标是找到一个能最大程度正确划分训练集数据的最大边距超平面[9]。支持向量机的分类原理是寻找超平面将各个样本点分开, 因此各个点到超平面的距离就尤为重要[10],主要用于二分类问题。支持向量机可分为线性可分支持向量机、线性支持向量机和非线性支持向量机。在进行线性分类时,将分类面取在离两类样本距离较大的地方;
    进行非线性分类时通过高维空间变换,将非线性分类变成高维空间的线性分类问题[11]。图5可以直观地解释支持向量机的原理[12]。支持向量机是一种基于统计理论的分类算法,在模型识别和和数据挖掘领域有着广泛应用,核心思想是确定最优超平面对数据进行分类[13]。

    图5 支持向量机原理

    3.5 逻辑回归

    (6)

    式中:θ表示求解出来的一组参数;
    m为样本的个数;
    yi为样本i上的真实标签;
    yθ(xi)是样本i上,基于参数θ计算出的逻辑回归返回值;
    xi是样本i的取值[14]。

    图6 单位阶跃函数与对数概率函数关系

    4.1 决策树建模与分析

    1)对原始数据进行处理,将质量得分为6分及以上的记为高质量红酒(模型中设置为1来表示),其余为非高质量红酒(设置为0),即做二分类分析。然后划分数据集时选择30%为测试集,70%为训练集,最后进行模型构建。

    2)决策树算法的3个步骤为实例化、训练模型、得出结果。从sklearn中导入决策树库,然后按照3个步骤建模,最终得出模型的精度为0.743 75。

    3)建立完模型后,接着画决策树。由于下载的原始数据中特征属性显示为英文,不便观察,因此在画树之前,先对红酒的11个特征属性将其命名为中文,然后利用画决策树的库tree.export_graphviz,对其中参数进行设置,最终画出的决策树由于过大、过深,本文暂不展示。

    4)决策树可以探索其中哪些特征属性的贡献值即重要性较大,利用feature_importances_参数编写程序并运行得到各特征值的贡献值分别为0.083 605 29,0.094 627 66,0.055 034 86,0.055 808 28,0.062 527 74,0.042 336 43,0.096 826 76,0.063 376 01,0.085 166,0.131 012 25,0.229 678 7,很明显二氧化硫总量、硫酸盐和酒精这3个特征属性对决策树构建的贡献较大。最后通过zip参数将特征属性名称和重要性连接到一起。

    5)为了降低决策树过拟合的情况,设置random_state和splitter这两个参数来控制随机性,再重新拟合模型,最终得出精度为0.768 75。发现精度有所提高。

    6)通过剪枝参数及学习曲线确定决策树的最大深度,如图7所示,发现拟合精度随着最大深度的增加而增加,因此对于此数据集而言,构建决策树时深度越深越好。

    图7 最大深度学习曲线

    7)该模型的分类性能评估结果见表1。从表中能够看出该模型下的高质量红酒有212的支持度,非高质量红酒的支持度为268,略高于高质量红酒的支持度。

    表1 决策树评估结果

    4.2 朴素贝叶斯建模与分析

    1)与决策树同理,将品质得分为6分及6分以上的记为高质量红酒(模型中设置为1),其余记为非高质量红酒(模型中设置为0),然后进行建模。

    2)朴素贝叶斯建模也是3个步骤,实例化、训练模型、预测结果并查看准确率。最终运行程序后得到准确率即精度为0.53。

    3)该模型的分类评估结果见表2。从表中能够看出该模型下的高质量红酒有217的支持度,非高质量红酒的支持度为263,略高于高质量红酒的支持度。

    表2 朴素贝叶斯模型的评估结果

    4.3 K近邻建模与分析

    1)同前两种方法一样,将数据设置为二分类数据然后进行建模。在模型建立前,将数据转化为数组数据来分析。

    2)在建模前对数据进行归一化处理,目的是使每个特征对KNN模型的影响一样。

    3)K近邻算法建模时,首先进行初始化设置k,这里设置k=3,然后实例化、训练模型并得出精度为85.34%。

    4)由于KNN模型需要选择最优k值,因此将k从1~100建立模型做了循环,并将训练正确率和5折交叉验证率与k之间的关系绘制成图来选出最优k值,如图8所示。通过程序运行及结果图显示最终选择最优的k值为52。

    图8 确定最优k

    5)最后将最好的k值代入模型建立KNN分类器应用到测试集,最终模型的精度为72%。发现选用了最优的k值精度反而降低了。

    6)该模型的分类评估结果见表3。从表中能够看出该模型下的高质量红酒有217的支持度,非高质量红酒的支持度为263,略高于高质量红酒的支持度。

    表3 KNN评估结果

    4.4 支持向量机建模与分析

    1)同前面的方法一样,第一步也是对数据进行分类设置。

    2)支持向量机算法建模同样是3个步骤,首先导入SVM库,然后实例化、训练模型并得出结果。得出训练集精度为0.739,测试集精度为0.731。

    3)该模型的分类评估结果见表4。从表中能够看出该模型下的高质量红酒有218的支持度,非高质量红酒的支持度为262,略高于高质量红酒的支持度。

    表4 SVM评估结果

    4.5 逻辑回归建模与分析

    1)同前面的方法一样,第一步也是对数据进行分类设置。

    2)逻辑回归建模要用到函数Logistic Regression,然后利用3个步骤编写程序并运行得出准确度约为0.72。

    3)该模型的分类评估结果见表5。从表中能够看出该模型下的高质量红酒有218的支持度,非高质量红酒的支持度为262,略高于高质量红酒的支持度。

    表5 逻辑回归评估结果

    根据模型建立与分析,从各个模型的算法评估报告中得知各模型分类的精度,决策树的精度为0.64,朴素贝叶斯的精度为0.54,而K近邻和支持向量机的精度均为0.73,逻辑回归的精度为0.72。通过比较,最高精度的两个模型为K近邻和支持向量机模型,再根据两模型评估报告中分类为0和1的准确率和召回率进行比较,综合可知K近邻更适合红酒质量的分类。因此在之后的研究中对红酒进行质量评估时可以首先通过KNN模型进行分类,然后再进行后续研究分析。

    猜你喜欢 决策树红酒向量 向量的分解新高考·高一数学(2022年3期)2022-04-28聚焦“向量与三角”创新题中学生数理化(高中版.高考数学)(2021年1期)2021-03-19决策树和随机森林方法在管理决策中的应用电子制作(2018年16期)2018-09-26红酒中毒案数学大王·趣味逻辑(2018年4期)2018-05-25决策树多元分类模型预测森林植被覆盖电子制作(2017年24期)2017-02-02买红酒今古传奇·故事版(2016年23期)2017-01-12基于决策树的出租车乘客出行目的识别中央民族大学学报(自然科学版)(2016年4期)2016-06-27向量垂直在解析几何中的应用高中生学习·高三版(2016年9期)2016-05-14向量五种“变身” 玩转圆锥曲线新高考·高二数学(2015年11期)2015-12-232015年最酷红酒标签海外星云(2015年15期)2015-12-01

    推荐访问:红酒 机器 质量