Kuang Algorithm Engineer&Data Mining Engineer

 使用weka内置算法分析数据(图形界面操作)

2016-12-15
Kuang

本文使用weka中内置的三种分类算法(naive bayes,SVM,Logistic Regression)根据收集到的鸢尾属植物的数据进行分类,通过精度和效率对三种算法进行比较。

1、鸢尾属植物的分类

数据中包含鸢尾属植物的四种属性。四种属性分别是萼片长度、萼片宽度、花瓣长度、花瓣宽度。数据中还包含鸢尾属植物的三种种类,分别是:Iris-setosa(山鸢尾)、Iris-Versicolous(杂色鸢尾)、Iris-Virginica(维吉尼亚鸢尾)。也就是说,每行数据有5个属性(花萼长度、花萼宽度、花瓣长度、花瓣宽度、所属种类)

通过weka图形界面的Experimenter模块添加三种算法,采用十折交叉验证来分析三种算法的结果。图1.1是三种算法分类的正确率对比。 2016-12-15 14-23-41屏幕截图.png-42.7kB 从图1.1的列表中可以看出,对于当前数据集的表现,三种算法在指定的显著性水平(significance level,这里设定是0.1)下可以认为正确率基本等同。 再比较三种算法正确分类个数的平均值,如图1.2所示,三种算法正确分类个数的平均值在显著性水平值为0.1的情况下可以认为是等同的。 2016-12-15 14-27-10屏幕截图.png-43.9kB 图1.3是CPU执行三种算法处理训练任务所花费的时间对比,可以看出,Logistic Regression和SVM在训练上所花费的总时间要多于Naive Bayes。也就是说,在处理这个数据集时,Naive Bayes的时间性能要比Logistic Regression和SVM要好 image_1b40mfjfs15nbjbcf2r1pj6emr50.png-76.8kB

综上,三种算法在处理本数据集的对比如表1.1所示

算法 精确度 效率
Naive Bayes
SVM
Logistic Regression

2、甲状腺功能减退类型分类

数据集中包含一系列属性,这些属性是甲状腺功能减退患者自身的一些特征,比如年龄、性别等。除此之外,还有一个甲状腺功能减退类型的属性作为标签。使用三种不同的算法进行分析。得到如图2.1的结果。 image_1b40la4td197g1tnki561nq51od12i.png-76.6kB 由图2.1可以看出,在显著性水平为0.1的情况下,SVM算法的表现要比Naive Bayes差,而Logistic Regression的表现要好于Naive Bayes。 图2.2是三种算法正确分类个数的平均值的情况。 image_1b40lkdkot9an1ejvvuasos92v.png-77.1kB CPU执行三种算法训练模型所花费的时间如图2.2所示,测试所花费的时间如图2.3所示 image_1b40m4k7tk5m17ji17ct6br1g1m3p.png-76.8kB image_1b40m6e0p70uqnp55q1oaptiu46.png-76.9kB

综上所述,三种算法在处理本数据集的表现对比如表2.1

算法 精确度 效率
Naive Bayes
SVM
Logistic Regression

下一篇 梯度下降

Comments