基于weka数据分类和聚类分析实验报告
时间:2020-10-06 08:42:27 来源:工作范文网 本文已影响 人
基 于 w e k a 的 数 据 分 类 分 析 实 验 报 告
实验基本内容
本实验的基本内容是通过使用 weka 中的三种常见分类和聚类方法 (决策树 J48、KNN 和 k-means)
分别在训练数据上训练出分类模型, 并使用校验数据对各个模型进行测试和评价, 找出各个模型最优
的参数值, 并对三个模型进行全面评价比较, 得到一个最好的分类模型以及该模型所有设置的最优参
数。最后使用这些参数以及训练集和校验集数据一起构造出一个最优分类器, 并利用该分类器对测试
数据进行预测。
数据的准备及预处理
2.1 格式转换方法
打开 “data02.xls ”另存为 CSV 类型,得到“ data02.csv”。
在 WEKA 中提供了一个“ Arff Viewer ”模块,打开一个“ data02.csv”进行浏览,然后另存为
ARFF 文件,得到“ data02.arff”。 。
实验过程及结果截图
3.1 决策树分类
决策树分类
用“ Explorer ”打开数据“ data02.arff ”,然后切换到“ Classify ”。点击“ Choose”,选择算法
“ trees-J48 ”,再在“ Test options ”选择“ Cross-validation ( Flods=10 )”,点击“ Start ”,开始运行。
系统默认 trees-J48
决策树算法中
minNumObj=2,得到如下结果
=== Summary ===
Correctly Classified Instances
23
88.4615 %
Incorrectly Classified Instances
3
11.5385 %
Kappa statistic
0.7636
Mean absolute error
0.141
Root mean squared error
0.3255
Relative absolute error
30.7368 %
Root relative squared error
68.0307 %
Total Number of Instances
26
=== Detailed Accuracy By Class ===
TP Rate
FP Rate
Precision
Recall F-Measure
ROC Area
Class
0.824
0
1
0.824
0.903
0.892
N
1
0.176
0.75
1
0.857
0.892
Y
Weighted Avg.
0.885
0.061
0.913
0.885
0.887
0.892
=== Confusion Matrix ===
a
b
<-- classified as
14
3 |
a = N
0
9 |
b = Y
使用不同的参数准确率比较:
minNumObj
2
3
4
5
Correctly
23
22
23
23
Classified
( 88.4615 %)
( 84.6154 %)
( 88.4615 %)
( 88.4615 %)
Instances
由上表,可知 minNumObj为 2 时,准确率最高。
根据测试数集,利用准确率最高的模型得到的结果:
分析说明:
在用 J48 对数据集进行分类时采用了 10 折交叉验证( Folds=10 )来选择和评估模型,其中属性值有两个 Y, N。一部分结果如下:
Correctly Classified Instances
Incorrectly Classified Instances
=== Confusion Matrix ===
a b <-- classified as
14 3 | a = N
0 9 | b = Y
23
3
88.4615 %
11.5385 %
这个矩阵是说,原来是 “Y”的实例,有 14 个被正确的预测为 “Y”,有3 个错误的预测成了 “N”。原
本是 “NO”的实例有 0 个被正确的预测成为 “Y”,有 9 个正确的预测成了 “N”。“14+3+0+9=26”是实例的
总数,而( 14+9)/ 26=0.884615 正好是正确分类的实例所占比例。这个矩阵对角线上的数字越大,说
明预测得越好。
(2)K 最近邻分类算法
用“ Explorer ”打开数据“ data02.arff ”,然后切换到“ Classify ”。点击“ Choose”,选择算法
“ lazy-IBk ”,再在“ Test options ”选择“ Cross-validation ( Flods=10 )”,点击“ Start ”,开始
运行。
训练结果:
系统默认 lazy-IBk K 最近邻分类算法中 KNN=1,得到如下结果
=== Summary ===
Correctly Classified Instances 20 76.9231 %
Incorrectly Classified Instances 6 23.0769 %
Kappa statistic 0.4902
Mean absolute error 0.252
Root mean squared error 0.4626
Relative absolute error 54.9136 %
Root relative squared error 96.694 %
Total Number of Instances 26
=== Detailed Accuracy By Class ===
TP Rate FP Rate Precision Recall F-Measure ROC Area Class
0.824
0.333
0.824
0.824
0.824
0.768
N
0.667
0.176
0.667
0.667
0.667
0.768
Y
Weighted Avg.
0.769
0.279
0.769
0.769
0.769
0.768
=== Confusion Matrix ===
a b <-- classified as
3 | a = N
3 6 | b = Y
使用不同的参数准确率比较:
KNN
1
2
3
4
Correctly
20
19
23
20
Classified
( 76.9231 % )
( 73.0769%)
( 88.4615 %)
( 76.9231 % )
Instances
由上表,可知 KNN为 3 时,准确率最高。
根据测试数集,利用准确率最高的模型得到的结果:
分析说明:
在用 lazy-Ibk(KNN=3) 对数据集进行分类时采用了 10 折交叉验证( Folds=10 )来选择和评估模型,其中属性值有两个 Y, N。一部分结果如下:
=== Summary ===
Correctly Classified Instances Incorrectly Classified Instances
23
3
88.4615 %
11.5385 %
=== Confusion Matrix ===
a b <-- classified as
16 1 | a = N
2 7 | b = Y
这个矩阵是说,原来是 “Y”的实例,有 16 个被正确的预测为 “Y”,有1 个错误的预测成了 “N”。原本是 “NO”的实例有 2 个被正确的预测成为 “Y”,有 9 个正确的预测成了 “7”。“16+1+2+7 =26”是实例的总数,而( 16+7) / 26=0.884615 正好是正确分类的实例所占比例。二、 对“ data01 ” 进行聚类分析
数据格式的转换
打开 “data01.xls ”另存为 CSV 类型,得到“ data01.csv”。
在 WEKA 中提供了一个“ Arff Viewer ”模块,打开一个“ data01.csv”进行浏览,然后另存为
ARFF
文件,得到“
data01.arff”。
2. 聚类过程
用“ Explorer ”打开数据“
“ SimpleKMeans( numClusters=6
点击“ Start ”,开始运行。
训练结果:
data01.arff ”,然后切换到“ Cluster
, seed=200 ),再在“ Test options
”。点击“ Choose”,选择算法
”选择“ Use training set ”,
采用 simpleKMeans 算法,其中 numClusters=6 , seed=100,得到如下结果:
Number of iterations: 3
(平方误差之和)
Clustered Instances
Clustered Instances
4 ( 15%)
3 ( 12%)
4 ( 15%)
3 ( 12%)
2 ( 8%)
10 ( 38%)(各类的包含的实例个数以及占总实例的百分比)
说明:
其中当 seed的取值越大,平方误差之和越小。
在这次实验
seed=100,得到: 9. 这是评价聚类好坏的标准,数值越小说明同一簇实例之间的距离
就越小。
接下来“ Cluster centroids”:列出了各个簇中心的位置:
Attribute
Full Data
0
1
2
3
4
5
(26)
(4)
(3)
(4)
(3)
(2)
(10)
=============================================================================
====
sample
13.5
22.5
4.6667
20.5
14.6667
4.5
11.2
old-year
48.0769
65.75
59.3333
50.5
25
56.5
41.9
VEGF
1.9231
2.75
2.3333
2
2.6667
3
1
MVC
102.1538
126.45
100.6667
127.4
88.2667
104
86.58
cancer-grade
2.5769
3.75
2
3
3.3333
3.5
1.7
cancer-stage
2.1538
3.25
1.3333
3
2.3333
3.5
1.3
cancer metastasis
N
Y
N
N
Y
Y
N
最后“ Clustered Instances
”列出了各个簇中实例的数目及百分比:
Clustered Instances
4 ( 15%)
3 ( 12%)
4 ( 15%)
3 ( 12%)
2 ( 8%)
10 ( 38%) (各类的包含的实例个数以及占总实例的百分比)三、根据提供的“ data02 ”进行关联分析
由于程序和系统故障,所以不能正确的进行关联分析
实验总结
本次实验进行比较顺利,使我对如何在 Weka 中进行分类分析有了更深刻的了解,对 Weka 中进
行分类分析的 KNN 算法, k-means 算法和决策树算法都有了进一步的理解,同时也深刻体会到数据预处理对于数据挖掘的重要性。