董婷
(榆林学院 信息工程学院,榆林 719000)
随着经济的发展,我国汽车行业发展越来越快,人们对汽车的需求越来越大,未来几乎每个家庭都将至少拥有一辆汽车。但是,大多数人对于汽车的认知比较少,仅仅通过汽车价格来判定一辆汽车的好坏,很明显这是不足的。目前,在我国还没有一套汽车评估系统。
支持向量机方法(Support Vector Machine,SVM)是Vapnik在上个世纪90年代提出的基于统计学习理论框架的一种全新的机器学习方法,它避免了人工神经网等方法的网络结构难于确定、过学习和欠学习以及局部极小等问题[1]。本文首次将支持向量机方法中的支持向量分类模型(C-SVM for Classification,C-SVC)应用到汽车评估当中,具有广泛的现实意义,并以UCI提供的数据作为实例,从评价系统的计算中得到汽车是否值得购买,为人们购买汽车时提供参考意见[2]。
选定的训练集和测试集的属性项和标签项是整个模型的核心所在,只有找出影响人们购买汽车的真正因素,所建立的汽车评估系统才具有现实意义[3]。根据UCI提供的数据,在UCI中,共有1728条该类数据,其中选取前864条数据作。
选定的训练集和测试集的属性项和标签项是整个模型的核心所在,只有找出影响人们购买汽车的真正因素,所建立的汽车评估系统才具有现实意义。根据UCI提供的数据,在UCI中,共有1728条该类数据,其中选取前864条数据作为训练集,采用交叉验证选取最佳惩罚参数(c)和核函数参数(g)。后864条数据作为实例,对汽车的可接受程度进行预测,最后评估结果与实际基本一致,这表明所建立的汽车评估系统可以位汽车是否值得购买提供参考意见。确定的属性项如表1所示。
标签项,如表2所示。
本系统的可接受程度共有4类,每一类的样本均为6维向量。由于评估结果涉及多类状态识别,因此选用基于一对余类算法的多类SVM状态评估模型[4]。
一类对余类法(One versus rest,OVR)是最早出现也是目前应用最为广泛的方法之一,其步骤是构造k个两类分类机(设共有k个类别),其中第i个分类机把第i类同余下的各类划分开,训练时第i个分类机取训练集中第i类为正类,其余类别为负类进行训练[5]。
对于本系统,分4种情况进行训练及预测:
1)设可接受程度unacc为正类(1),其余三类为负类(-1),进行训练、预测
表1 汽车属性及赋值
表2 可接受程度指标分类
2)设可接受程度acc为正类(1),其余三类为负类(-1),进行训练、预测
3)设可接受程度good为正类(1),其余三类为负类(-1),进行训练、预测
4)设可接受程度vgood为正类(1),其余三类为负类(-1),进行训练、预测
考虑到数据过大,这里我们从每个状态中随机选取10个预测结果,数据分布如表3、表4、表5、表6所示:
第一种情况中,真正样本个数:TP为638个,真负样本个数:TN为89个:,假正样本个数:FP为81个,假负样本个数:FN为29个。所以敏感度为TP/(TP+FN)=95.65%,特异性为TN/(TN+FP)=0.523 5,正确率为(TP+TN)/(TP+TN+FP+FN)=86.857 8%。
第二种情况中,真正样本个数:TP为112个,真负样本个数:TN为639个:,假正样本个数:FP为27个,假负样本个数:FN为55个。所以敏感度为TP/(TP+FN)=67.07%,特异性为TN/(TN+FP)=0.959 5,正确率为(TP+TN)/(TP+TN+FP+FN)=90.156 1%。
第三种情况中,真正样本个数:TP为0个,真负样本个数:TN为833个:,假正样本个数:FP为0个,假负样本个数:FN为0个。所以t特异性为TN/(TN+FP)=1,正确率为(TP+TN)/(TP+TN+FP+FN)=100%。
第四种情况中,真正样本个数:TP为0个,真负样本个数:TN为833个:,假正样本个数:FP为0个,假负样本个数:FN为0个。所以特异性为TN/(TN+FP)=1,正确率为(TP+TN)/(TP+TN+FP+FN)=100%。
表3 unacc为正类时,预测结果及正确情况(g为0.5,c为32)
(真正样本TP:被判定为正样本,事实上也是正样本;真负样本TN:被判定为负样本,事实上也是负样本;假正样本FP:被判定为正样本,事实上是负样本;假负样本FN:被判定为负样本,事实上是正样本)
由以上结果可知,在最佳参数下,基于C-SVC的评估方法的准确率较高,在10个预测中基本都与实际符合,汽车可接受性评估的准确率非常高。
表4 acc为正类时,预测结果及正确情况(g为0.5,c为8)
表5 good为正类时,预测结果及正确情况(g为0.031 25,c为8 192)
表6 vgood为正类时,预测结果及正确情况(g为0.5,c为8)
本文基于C-SVC所建立的汽车评估系统,利用UCI提供的数据作为实验数据,选取合理的输出向量,最后预测的结果与实际值基本上一致,表明该评估系统的可用性和有效性[6]。但是,由于本次实验的数据量较小,在实际应用中,数据量较大,因此今后将进一步通过mcc系数和roc曲线来补充和修改现有的系统模型[7]。
[1] 奉国和. SVM分类核函数及参数选择比较[J].计算机工程与应用, 2011(3):58-59.
[2] 邓乃扬,田英杰. 数据挖掘中的新方法——支持向量机[M].北京:科学出版社,2004: 202-354.
[3] 瓦普尼克.统计学习理论[M]. 北京:电子工业出版社,2004: 192-447.
[4] 杜晓东,李岐强. 支持向量机及其算法研究[J]. 信息技术与信息化, 2005(3): 123-124.
[5] 魏丹. 支持向量机多分类预测技术研究[D]. 西安:西安科技大学, 2008:98-99.
[6] 沃尔斯(Craig Walls).Spring实战[M].北京:人民邮电出版社,2013:102-117.
[7] 吐尔逊-达吾提.新疆师范大学就业管理系统的设计与实现[J].吉林:吉林大学,2014:1-10.