传统的葡萄酒质量检测由专业品酒师进行鉴评完成,存在检测成本高、周期长、主观臆断等缺点。建立一套客观、有效的葡萄酒质量评价体系,实现对葡萄酒质量的快速、批量检验是必要且重要的。本文对基于Logistic回归分析和随机森林两种白葡萄酒质量检测方法进行比较研究,选取了4898个白葡萄酒样本,通过混淆矩阵与十折交叉验证后,得出随机森林模型在测试集精确度及训练集精确度均优于Logistic模型,测试集精确度均值为88.48454%,相比于Logistic回归模型提高了8.36个百分点。本文使用机器学习模型为白葡萄酒的评价体系提供了一种快捷、准确且科学合理的方法。 Traditional wine quality testing is conducted by professional wine tasters, which has drawbacks such as high testing costs, long testing cycles, and subjective assumptions. It is necessary and important to establish an objective and effective wine quality evaluation system to achieve rapid and batch inspection of wine quality. This paper conducts a comparative study of two white wine quality detection methods based on Logistic regression analysis and random forest, selects 4898 white wine samples, and through the confusion matrix and ten fold cross validation, it is concluded that the precision of random forest model in the test set and training set is superior to the Logistic model, and the average precision of the test set is 88.48454%, which is 8.36 percentage points higher than the Logistic regression model. This article provides a fast, accurate, and scientifically reasonable method for evaluating white wine using machine learning models.
传统的葡萄酒质量检测由专业品酒师进行鉴评完成,存在检测成本高、周期长、主观臆断等缺点。建立一套客观、有效的葡萄酒质量评价体系,实现对葡萄酒质量的快速、批量检验是必要且重要的。本文对基于Logistic回归分析和随机森林两种白葡萄酒质量检测方法进行比较研究,选取了4898个白葡萄酒样本,通过混淆矩阵与十折交叉验证后,得出随机森林模型在测试集精确度及训练集精确度均优于Logistic模型,测试集精确度均值为88.48454%,相比于Logistic回归模型提高了8.36个百分点。本文使用机器学习模型为白葡萄酒的评价体系提供了一种快捷、准确且科学合理的方法。
随机森林,Logistic回归,十折交叉,混淆矩阵,二分类
Hua Chai
School of Mathematics and Statistics, Guizhou University, Guiyang Guizhou
Received: May 23rd, 2023; accepted: Jun. 25th, 2023; published: Jun. 30th, 2023
Traditional wine quality testing is conducted by professional wine tasters, which has drawbacks such as high testing costs, long testing cycles, and subjective assumptions. It is necessary and important to establish an objective and effective wine quality evaluation system to achieve rapid and batch inspection of wine quality. This paper conducts a comparative study of two white wine quality detection methods based on Logistic regression analysis and random forest, selects 4898 white wine samples, and through the confusion matrix and ten fold cross validation, it is concluded that the precision of random forest model in the test set and training set is superior to the Logistic model, and the average precision of the test set is 88.48454%, which is 8.36 percentage points higher than the Logistic regression model. This article provides a fast, accurate, and scientifically reasonable method for evaluating white wine using machine learning models.
Keywords:Random Forest, Logistic Regression, Ten Fold Cross, Confusion Matrix, Binary Classification
Copyright © 2023 by author(s) and beplay安卓登录
This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).
http://creativecommons.org/licenses/by/4.0/
葡萄酒,即以葡萄为原材料经多种微生物发酵酿造而成的一款果酒 [
对葡萄酒的评分,国内主要还是依靠品酒师的品尝感受来进行评价,再依靠各种质谱仪器来检测酒中各种化学成分含量来对葡萄酒质量进行综合评定。除此之外,部分质检部门也提出一套根据葡萄酒的特征指标,通过传统数理统计分析理论来进行更为科学的评判标准。近年来在实际应用中将层次分析法(Analytical Hierarchical Process,简称AHP)应用于产品服务质量评定上,相似的也有不少学者提出应用于葡萄酒质量评估上。层次分析法被认为是将一个复杂的多目标决策问题作为一个系统,将目标分解为多个目标或准则,进而分解为多指标(或准则、约束)的若干层次,通过定性指标模糊量化方法算出层次单排序(权数)和总排序,以作为目标(多指标)、多方案优化决策的系统方法。此方法在一定程度上可以对葡萄酒产品做出综合的质量评估,也得到了众多专家的一致认可。但层次分析法 [
国外葡萄酒的生产和酿造技术已达到娴熟水平。在酒类鉴别方面,除了运用传统的品酒师品尝的方法外,早已使用现代科学仪器来分析酒类的各项化学成分,比如气相色谱仪、高液压相色谱仪等,以追求更科学更全面的对葡萄酒质量评价 [
本文所用的数据来自UCL机器学习数据库,数据集为白葡萄酒的质量特征,一共4898条数据,本文的因变量是白葡萄酒的质量状态,一共有两种可能的状态:优质和非优质。优质用“0”表示,非优质用“1”表示。数据变量说明见表1。
变量类型 | 变量名 | 详细说明 | 取值范围 |
---|---|---|---|
因变量 | 是否优质 | 葡萄酒质量评分分数大于7的为优质红酒, 低于7的为非优质红酒 | 0, 1 |
解释变量 | 非挥发性酸 Fixed.acidity | 大多数与葡萄酒有关的酸或固定或非挥发性 (不易蒸发) | 3.8~14.2 |
挥发性酸 Volatile.acidity | 葡萄酒中醋酸的含量过高会导致令人不愉快的 醋味 | 0.08~1.1 | |
柠檬酸 Citric.acid | 柠檬酸可以增加葡萄酒的“新鲜度”和风味 | 0~1.66 | |
甜度 Residual.sugar | 发酵停止后剩余的糖量 | 0.6~65.8 | |
游离二氧化硫 Free.sulfur.dioxide | 游离形式的二氧化硫在分子SO2(作为溶解气体) 和亚硫酸氢根离子之间存在平衡 | 2~289 | |
氯化物 chlorides | 葡萄酒中盐的含量 | 0.009~0.346 | |
硫酸盐 sulphates | 一种葡萄酒添加剂,可以促进二氧化硫气体 (SO2)水平,作为抗菌剂和抗氧化剂 | 0.22~1.08 | |
酒精 alcohol | 葡萄酒的酒精含量百分比 | 8~14.2 | |
密度 density | 酒精的密度接近水的密度,密度取决于酒精的 百分比和糖含量 | 0.98711~1.03898 | |
氢离子浓度 pH | 描述葡萄酒的酸度或碱度 大多数葡萄酒在pH值为2.5~4.5 | 2.72~3.82 | |
总二氧化硫 Total.sulfur.dioxide | 游离和结合形式的SO2的量:在游离SO2浓度超 过50 ppm时,SO2在酒的鼻子和味道中变得明显 | 9~440 |
表1. 数据变量说明表
Logistic回归又称定性定量回归,是一种广义的线性回归分析模型,其目标变量使用分类型字段而不是数值型,而自变量 x 1 , x 2 , ⋯ , x n 可以是分类变量、连续变量或者两者的混合类型。Logistic回归建立一组方程,把输出值域与输出字段每一类的概率联系起来。一旦生成模型,便可用于估计新的数据的概率。对于每一个记录,计算其从属于每种可能输出类的概率,概率最大的目标类被指定为该记录的预测输出值,类似于朴素贝叶斯分类方法。设目标变量y是0~1型随机变量, x 1 , x 2 , ⋯ , x k 是任意k个变量。 p = p ( y = 1 | x 1 , x 2 , ⋯ , x k ) ,那么变量y关于变量 x 1 , x 2 , ⋯ , x k 的Logistic回归模型是:
p = p ( y = 1 | x 1 , x 2 , ⋯ , x k ) = e β 0 + β 1 x 1 + ⋯ + β k x k 1 + e β 0 + β 1 x 1 + ⋯ + β k x k (1)
或者:
log ( p ( y = 1 | x 1 , x 2 , ⋯ , x k ) 1 − p ( y = 1 | x 1 , x 2 , ⋯ , x k ) ) = β 0 + β 1 x 1 + ⋯ + β k x k (2)
有利于一个事件发生的机会比就是事件将要发生的概率与该事件将不发生的概率比:
o d d s = p ( y = 1 | x 1 , x 2 , ⋯ , x k ) 1 − p ( y = 1 | x 1 , x 2 , ⋯ , x k ) = e β 0 + β 1 x 1 + ⋯ + β k x k (3)
设目标变量Y是0~1型随机变量, x 1 , x 2 , ⋯ , x k 是对Y的取值有影响的确定性变量。在 x i 1 , x i 2 , ⋯ , x i k ( i = 1 , 2 , ⋯ , n ) 处分别对y进行了n次独立观测,记第i次观测值为 y i 。显然, Y i , i = 1 , 2 , ⋯ , n 是相互独立的伯努利随机变量,其概率分布为:
P ( Y i = y i ) = p i y i ( 1 − p i ) 1 − y i , y i = 0 or 1 (4)
于是 y 1 , y 2 , ⋯ , y k 的似然函数为:
ln L ( Y , p ) = ∑ i = 1 n [ y i ln p i + ( 1 − y i ) ln ( 1 − p i ) ] = ∑ i = 1 n [ y i ln p i 1 − p i + ln ( 1 − p i ) ] (5)
根据Logistic模型描述 p i 与 x i 1 , x i 2 , ⋯ , x i k ( i = 1 , 2 , ⋯ , n ) 之间的关系如下:
p i = 1 1 + e β 0 + β 1 x 1 + ⋯ + β k x k (6)
其中 β 0 , β 1 , ⋯ , β k 是待估参数,则:
ln L ( Y , p ) = ∑ i = 1 n [ y i ( β 0 + ∑ j = 1 k β i j ) − ln ( 1 + exp ( β 0 + ∑ j = 1 k β i j ) ) ] (7)
使得 ln L ( Y , p ) 达到最大值的 β ^ 0 , β ^ 1 , ⋯ , β ^ k 就是 β 0 , β 1 , ⋯ , β k 的极大似然估计。
随机森林模型的基分类器为决策树(CART算法形成的决策树),而决策树形成的基本思想为“分而治之”,从上往下进行层层的细分。大致思想可以描述为,首先均匀地选择数据作为模型的训练集,然后对类型制定生成规则,其次根据特征的不同值往下建立分支,有的分支可能到停止,有的分支还可以继续进行细分,直至最后所有分支不可往下分类,此时决策树构建完成。每一个决策树都有根节点(Root nods)与叶节点(Internal nods)构成,其中叶节点又称作内部节点,而每一个结点都由一个父节点以及2个或多个子结点组成。
Breiman (1984)针对分类与回归问题,首先提出了分类树的思想,通过这种算法进行计算时,计算效率大幅度提高。随机森林(Random Forest,简称RF)是Bagging的一个扩展变体。RF在以决策树为基学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入了随机属性集合(假定有d个属性)中选择一个最优属性;而在RF中,对基决策树的每个节点,首先从该结点的属性集合中随机选择一个包含k个属性的子集,然后再从这个子集中选择一个最优属性用于划分。这里的参数k控制了随机性的引入程度:若令k = d,则基决策树的构建与传统决策树相同;若令k = 1,则是随机选择一个属性用于划分。随机森林是基于bagging框架下的决策树模型。
本案例涉及11个解释变量:非挥发性酸、挥发性酸、柠檬酸、甜度、游离二氧化硫、氯化物、硫酸盐、酒精、密度、氢离子浓度。
图1. 11个变量的直方图
如图1所示,大多数白葡萄酒的非挥发性酸度在6~8 g/dm3,最小值是3.8,最大值是14.2。葡萄酒中醋酸的含量过高会导致令人不愉快的醋味。挥发性酸度分布偏向左边,大多数白葡萄酒的挥发性酸度低于0.4 g/dm3,我们可以猜测大于0.4 g/dm3含量的葡萄酒质量会比较差。柠檬酸可以增加葡萄酒的“新鲜度”和风味,柠檬酸分布偏向左边,大多数白葡萄酒的柠檬酸低于0.5 g/dm3。甜度低于10 g/L的白葡萄酒占了数据的绝大部分,甜度是发酵停止后剩余的糖量,很少能找到甜度含量低于1 g/L和超过45 g/L的葡萄酒。氯化物分布偏左,大多数白葡萄酒的氯化物含量小于0.1 g/dm3。游离二氧化硫可以防止微生物的生长和葡萄酒的氧化,可以保证葡萄酒不变质。但含量过高有可能会影响酒的口感。游离二氧化硫分布偏左,大多数白葡萄酒的游离二氧化硫含量小于100 mg/dm3。总二氧化硫呈正态分布,大多数总二氧化硫含量分布在100~200 mg/dm3。总二氧化硫是游离和结合形式的SO2的量,在低浓度下,SO2在葡萄酒中几乎检测不到,但在游离SO2浓度超过50 ppm时,SO2在酒中的味道变得明显。SO2浓度过高时会影响葡萄酒的气味。密度分布偏左,大多数白葡萄酒的密度小于1 g/cm3。pH呈正态分布,大多数pH分布在3~3.3。硫酸盐呈正态分布,大多数硫酸盐含量分布在0.4~0.6 g/dm3。酒精分布偏右,大多数白葡萄酒的酒精含量小于13%,白葡萄酒的11个物理和化学属性所有观测值近乎都可以呈正态分布,可能和白葡萄酒的质量存在很强的相关关系。
图2. 11个变量与白葡萄酒质量的箱线图
接下来,对葡萄酒是否优质和各个解释变量的相关关系做简单描述。由于是否优质是一个0~1变量,它将整个数据天然地分为两类(优质 = 0一类,非优质 = 1一类),因此可以对每一个解释变量用箱线图做对比分析。如图2所示,我们以酒精对白葡萄酒质量的影响情况来分析其箱线图,具体而言,对优质组(优质 = 0),它的中位数要明显低于非优质组(非优质 = 1)。这说明酒精浓度过高的更容易被评为非优质白葡萄酒,同理对其他的变量也可以进行分析。这种分析结果是否具有统计学上的显著意义,需要后面的正式模型分析验证。
图3. 白葡萄酒质量饼图
图4. 优质葡萄酒和非优质葡萄酒频数分布直方图
为了深入挖掘影响白葡萄酒质量是否优质的显著因素,本文将建立0~1回归模型(logistic模型)。针对4898个白葡萄酒数据中的质量进行分类汇总,见图3、图4。从图3和图4可以看出,优质白葡萄酒占了总数的22%,一共1060份,而非优质白葡萄酒占了78%,一共3938份。用70%的数据作为训练集;30%的数据作为测试集。使用前11个变量作为自变量,quality作为因变量建立logistic回归模型,得到结果如表2所示:
变量名称 | 回归系数 | 标准误 | P-值 |
---|---|---|---|
截距项 | 1.67835 | 0.05718 | <2e−16 |
Fixed.acidity | −0.43668 | 0.9006 | 1.24e−6 |
Volatile.acidity | 0.38304 | 0.05939 | 1.12e−10 |
Citric.acid | 0.03274 | 0.05613 | 0.55968 |
Residual.sugar | −1.44753 | 0.21345 | 1.19e−11 |
chlorides | 0.25053 | 0.09406 | 0.00773 |
Free.sulfur.dioxide | −0.19164 | 0.06498 | 0.00319 |
Total.sulfur.dioxide | 0.08785 | 0.07614 | 0.24863 |
density | 1.89881 | 0.33690 | 1.74e−08 |
pH | −0.45579 | 0.07584 | 1.85e−09 |
sulphates | −0.24424 | 0.04747 | 2.67e−07 |
alcohol | −0.20640 | 0.16607 | 0.21392 |
模型全局检验 | P值 < 0.001 |
表2. 逻辑回归结果
从结果可以看出,AIC值为2927.4,11个变量中有柠檬酸、总二氧化硫、酒精的系数是不显著的,所以我们考虑利用逐步回归来删除数据中显著性表现不理想的变量。通过对训练集进行逐步回归,得出以下结果:
变量名称 | 回归系数 | 标准误 | P-值 |
---|---|---|---|
截距项 | 1.6780 | 0.05704 | <2e−16 |
Fixed.acidity | −0.50777 | 0.06376 | 1.67e−15 |
Volatile.acidity | 0.38015 | 0.05616 | 1.30e−11 |
Residual.sugar | −1.68291 | 0.11565 | 2e−16 |
chlorides | 0.24995 | 0.09377 | 0.00769 |
Total.sulfur.dioxide | −0.14414 | 0.05239 | 0.00594 |
density | 2.32106 | 0.12610 | <2e−16 |
pH | −0.51304 | 0.05892 | <2e−16 |
sulphates | −0.26006 | 0.04510 | 8.12e−09 |
模型全局检验 | P值 < 0.001 |
表3. 逐步回归结果
我们由表3可知,逐步回归后,将模型中系数不显著的变量剔除,这时模型所有变量系数的显著性水平明显提升,且AIC值降到了2924.1。用 x 1 , x 2 , ⋯ , x 8 分别表示非挥发性酸、挥发性酸、甜度、氯化物、游离二氧化硫、密度、氢离子浓度、硫酸盐这8个变量,则Logistic回归模型可以表示为:
p = p ( y = 1 | x 1 , x 2 , ⋯ , x 8 ) = e 1.678 − 0.50777 x 1 + 0.38015 x 2 − 1.68291 x 3 + ... − 0.51304 x 7 − 0.26006 x 8 1 + e 1.678 − 0.50777 x 1 + 0.38015 x 2 − 1.68291 x 3 + ... − 0.51304 x 7 − 0.26006 x 8 (8)
在其他解释变量保持不变的情况下,硫酸盐每增加一个单位,将会使优质葡萄酒发生的机会比减小原来的 e − 0.26006 倍。
Logistic回归参数的显著性检验的目的是逐个检验模型中的各个解释变量是否与 log ( p 1 − p ) 有显著性关系,用卡方检验来检验回归系数是否显著。
变量名称 | 偏差 | 残差 | P-值 |
---|---|---|---|
NULL | 3592.2 | ||
Fixed.acidity | 19.026 | 3573.2 | 1.290e−05 |
Volatile.acidity | 18.923 | 3544.3 | 1.361e−05 |
Residual.sugar | 40.834 | 3513.4 | 1.657e−10 |
chlorides | 199.184 | 3314.2 | <2.2e−16 |
Free.sulfur.dioxide | 1.475 | 3312.8 | 0.2246 |
density | 290.513 | 3022.2 | <2.2e−16 |
pH | 82.883 | 2939.4 | <2.2e−16 |
sulphates | 33.300 | 2906.1 | 7.898e−09 |
模型全局检验 | P值 < 0.001 |
表4. 卡方检验结果
由表4可以看出,经过逻辑回归后出现了free.sulfur.dioxide这个不显著的变量,为了后续研究,我们剔除这一变量。继续进行模型检验,得到如下结果如表5所示:
变量名称 | 偏差 | 残差 | P-值 |
---|---|---|---|
NULL | 3592.2 | ||
Fixed.acidity | 19.026 | 3573.2 | 1.290e−05 |
Volatile.acidity | 18.923 | 3544.3 | 1.361e−05 |
Residual.sugar | 40.834 | 3513.4 | 1.657e−10 |
chlorides | 199.184 | 3314.2 | <2.2e−16 |
density | 290.513 | 3022.2 | <2.2e−16 |
pH | 82.883 | 2939.4 | <2.2e−16 |
sulphates | 33.300 | 2906.1 | 7.898e−09 |
模型全局检验 | P值 < 0.001 |
表5. 卡方检验结果
如结果所示,NULL表示零模型,剩余偏差为:3592.2,接下来非挥发性酸进入模型,产生了19.026的模型偏差,p-value非常小,显著性水平为0.001的情况下,所有系数的P值都小于0.001,拒绝原假设,认为回归系数是显著的。
df | P-value |
---|---|
8 | 0.1269 |
表6. H-L检验结果
Hosmer-Lemeshow检验(HL检验)为模型拟合指标,其原理在于判断预测值与真实值之间的gap情况,如果p值大于0.05,则说明通过HL检验,即说明预测值与真实值之间并无非常明显的差异。反之如果p值小于0.05,则说明没有通过HL检验,预测值与真实值之间有着明显的差异,即说明模型拟合度较差。由上述生成结果表6可知,p值大于0.05,说明通过了HL检验。
图5. 校正曲线
用bootstrap抽样方法重复1000次抽样对模型做偏引校正,以P值作为判断准则,对全模型的变量进行选择,结果与AIC的选择结果一致。得到如图5所示校正曲线,Apparent是当前的模型,Bias-corrected是通过bootstrap检验偏引得到的模型,Ideal是45˚理想参考线,模型线都很接近参考线,所以模型拟合效果较好。从表7所示混淆矩阵来看,模型预测的准确率达到了79.3%,优质白葡萄酒预测正确96例,非优质白葡萄酒预测正确1070例。灵敏度为92.6%,F1-Score = 0.8759,说明该模型预测效果较好。
predict_value true_value | 0 | 1 |
---|---|---|
0 | 96 | 218 |
1 | 85 | 1070 |
表7. 混淆矩阵
图6. ROC曲线图
在图6所示ROC曲线中,横轴为FPR,纵轴为TPR,理想目标是:TPR = 1,FPR = 0。该图的AUC值为0.793,模型预测效果较好。
组号 | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|
测试集精确度 | 0.793456 | 0.804816 | 0.7979592 | 0.8204082 | 0.8081633 |
训练集精确度 | 0.80313 | 0.8010436 | 0.8030853 | 0.798775 | 0.7996824 |
组号 | 6 | 7 | 8 | 9 | 10 |
测试集精确度 | 0.8020408 | 0.7959184 | 0.809816 | 0.7959184 | 0.7836735 |
训练集精确度 | 0.800363 | 0.8030853 | 0.8006351 | 0.8021779 | 0.8033122 |
表8. 十折交叉验证结果
从表8结果可以看出,第四组的测试集精确度最大,到达了82.04%,训练集精确度为79.8%。
在训练随机森林模型前,需要寻找最优参数mtry,即指定节点中用于二叉树的最佳变量个数。以及最佳参数ntree,即指定随机森林所包含的最佳决策树数目。从图7中可以看出,当参数mtry为8时,模型误判率最低。从图8中可以看出,在树的数量大于1200的时候就基本稳定了,在保证效能的情况下减少决策树的数量,减少运行时间,因此参数ntree取1200。
图7. 不同参数模型误判率
图8. 不同参数模型误判率
用mtry = 8和ntree = 1200来训练随机森林模型,可以得到如下图9所示结果:
图9. 随机森林模型
用mtry = 8和ntree = 1200来训练随机森林模型,用测试集进行预测后,得到表9的混淆矩阵,可以看出测试集预测正确率达到82.59075%,相比于Logistic回归模型的预测正确率更高。
predict_value true_value | 0 | 1 |
---|---|---|
0 | 69 | 34 |
1 | 7 | 380 |
表9. 混淆矩阵
为了探究随机森林模型预测准确率,利用十折交叉验证法进行训练,得到如表10所示的结果。从表中可以看出,第六组数据的效果最好,测试集预测精确度达到了90.81633%,训练集预测精确度达到99.93194%。
组号 | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|
测试集精确度 | 0.8691207 | 0.8693878 | 0.8591837 | 0.9 | 0.8979592 |
训练集精确度 | 0.9997732 | 0.9995463 | 0.9997731 | 0.9993194 | 0.9990926 |
组号 | 6 | 7 | 8 | 9 | 10 |
测试集精确度 | 0.9081633 | 0.8836735 | 0.8732106 | 0.8938776 | 0.8938776 |
训练集精确度 | 0.9993194 | 0.9993194 | 0.9995464 | 0.9995463 | 0.9990926 |
表10. 十折交叉预测结果表
从随机森林模型十折交叉验证的结果中,对预测效果最好的第六组的变量重要性进行分析,见图10,可以发现重要性排序从大到小前七个指标分别是酒精、挥发性酸、游离二氧化硫、氢离子浓度、甜度、氯化物、硫酸盐,可以说明这七个指标对白葡萄酒品质预测的影响较大。
图10. 第六组数据重要变量排序图
本文基于UCL机器学习数据库——白葡萄酒数据,以是否为优质白葡萄酒为因变量,以11个评价白葡萄酒质量的指标作为自变量,包括非挥发性酸、挥发性酸、甜度、氯化物、密度、氢离子浓度、硫酸盐,建立对白葡萄酒是否为优质具有一定预测能力的逻辑回归模型与随机森林模型。Logistic回归模型选出7个显著变量非挥发性酸、挥发性酸、甜度、氯化物、密度、氢离子浓度、硫酸盐,也说明这七个变量对白葡萄酒品质有显著影响,ROC曲线表明了该模型预测效果较好。而随机森林模型中变量重要性排序前七的指标分别是酒精、挥发性酸、游离二氧化硫、氢离子浓度、甜度、氯化物、硫酸盐,同时结合Logistic回归模型的结果可以发现,挥发性酸、氢离子浓度、甜度、氯化物、硫酸盐这五个指标对白葡萄酒品质预测的影响是最显著的,因此商家在生产葡萄酒时,可以在这五个指标上重点把控,生产出的优质葡萄酒的可能性更大。
Logistic回归模型的测试集精确度均值为80.12%,训练集精确度均值为80.15%,再对比随机森林模型,通过十折交叉验证后,测试集精确度均值为88.48%,训练集精确度均值为99.94%,随机森林模型不论是测试集还是训练集都明显优于Logistic回归模型,尤其是测试集预测准确率相比于Logistic回归模型提高了8.36个百分点,明显提升了对葡萄酒特征的预测效果。随机森林模型是一种高准确度的分类器,具有快速简便的优点,可以在决定类别时,评估变量的重要性,对于不平衡的分类资料集来说,可以平衡误差。随机森林模型在酒类行业中,为葡萄酒的评价体系提供了一种快捷、准确且科学合理的方法。
柴 桦. 机器学习模型在白葡萄酒质量评价中的应用Application of Machine Learning Model in Quality Evaluation of White Wine[J]. 运筹与模糊学, 2023, 13(03): 2550-2564. https://doi.org/10.12677/ORF.2023.133256