基于weka的数据分类和聚类分析实验报告

发布时间 : 星期六 文章基于weka的数据分类和聚类分析实验报告更新完毕开始阅读

基于weka的数据分类分析实验报告

1实验基本内容

本实验的基本内容是通过使用weka中的三种常见分类和聚类方法(决策树J48、KNN和k-means)分别在训练数据上训练出分类模型,并使用校验数据对各个模型进行测试和评价,找出各个模型最优的参数值,并对三个模型进行全面评价比较,得到一个最好的分类模型以及该模型所有设置的最优参数。最后使用这些参数以及训练集和校验集数据一起构造出一个最优分类器,并利用该分类器对测试数据进行预测。

2数据的准备及预处理

格式转换方法

(1)打开“” 另存为CSV类型,得到“”。

(2)在WEKA中提供了一个“Arff Viewer”模块,打开一个“”进行浏览,然后另存为ARFF文件,得到“”。

3. 实验过程及结果截图

决策树分类

(1)决策树分类

用“Explorer”打开数据“”,然后切换到“Classify”。点击“Choose”,选择算法

“trees-J48”,再在“Test options”选择“Cross-validation(Flods=10)”,点击“Start”,开始运行。

系统默认trees-J48决策树算法中minNumObj=2,得到如下结果 === Summary ===

Correctly Classified Instances 23 % Incorrectly Classified Instances 3 % Kappa statistic Mean absolute error Root mean squared error Relative absolute error % Root relative squared error % Total Number of Instances 26 === Detailed Accuracy By Class ===

TP Rate FP Rate Precision Recall F-Measure ROC Area Class 0 1 N

1 1 Y Weighted Avg. === Confusion Matrix === a b <-- classified as 14 3 | a = N 0 9 | b = Y

使用不同的参数准确率比较: minNumObj Correctly Classified Instances 2 23 ( %) 3 22 ( %) 4 23 ( %) 5 23 ( %) 由上表,可知minNumObj为2时,准确率最高。 根据测试数集,利用准确率最高的模型得到的结果: 分析说明:

在用J48对数据集进行分类时采用了10折交叉验证(Folds=10)来选择和评估模型,其中属性值有两个Y,N。一部分结果如下:

Correctly Classified Instances 23 % Incorrectly Classified Instances 3 % === Confusion Matrix ===

a b <-- classified as

14 3 | a = N 0 9 | b = Y

这个矩阵是说,原来是“Y”的实例,有14个被正确的预测为“Y”,有3个错误的预测成了“N”。原本是“NO”的实例有0个被正确的预测成为“Y”,有9个正确的预测成了“N”。“14+3+0+9=26”是实例的总数,而(14+9)/ 26=正好是正确分类的实例所占比例。这个矩阵对角线上的数字越大,说明预测得越好。

(2)K最近邻分类算法

用“Explorer”打开数据“”,然后切换到“Classify”。点击“Choose”,选择算法

“lazy-IBk”,再在“Test options”选择“Cross-validation(Flods=10)”,点击“Start”,开始运行。

训练结果:

系统默认lazy-IBk K最近邻分类算法中KNN=1,得到如下结果 === Summary ===

Correctly Classified Instances 20 % Incorrectly Classified Instances 6 % Kappa statistic Mean absolute error Root mean squared error Relative absolute error % Root relative squared error % Total Number of Instances 26 === Detailed Accuracy By Class ===

TP Rate FP Rate Precision Recall F-Measure ROC Area Class N Y

Weighted Avg. === Confusion Matrix === a b <-- classified as 14 3 | a = N 3 6 | b = Y

使用不同的参数准确率比较: KNN Correctly Classified Instances 1 20 ( %) 2 19 (%) 3 23 ( %) 4 20 ( %) 由上表,可知KNN为3时,准确率最高。

根据测试数集,利用准确率最高的模型得到的结果: 分析说明:

在用lazy-Ibk(KNN=3)对数据集进行分类时采用了10折交叉验证(Folds=10)来选择和评估模型,其中属性值有两个Y,N。一部分结果如下:

=== Summary ===

Correctly Classified Instances 23 % Incorrectly Classified Instances 3 % === 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=正好是正确分类的实例所占比例。 二、对“data01” 进行聚类分析 1.数据格式的转换

(1)打开“” 另存为CSV类型,得到“”。

(2)在WEKA中提供了一个“Arff Viewer”模块,打开一个“”进行浏览,然后另存为ARFF文件,得到“”。 2.聚类过程

用“Explorer”打开数据“”,然后切换到“Cluster”。点击“Choose”,选择算法

“SimpleKMeans(numClusters=6,seed=200),再在“Test options”选择“Use training set”,点击“Start”,开始运行。

训练结果:

采用simpleKMeans算法,其中numClusters=6,seed=100,得到如下结果: Number of iterations: 3 (平方误差之和) Clustered Instances Clustered Instances 0 4 ( 15%) 1 3 ( 12%)

2 4 ( 15%) 3 3 ( 12%) 4 2 ( 8%)

5 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 old-year 25 VEGF 2 3 1 MVC 104

cancer-grade 2 3 cancer-stage 3

cancer metastasis N Y N N Y Y N

最后“Clustered Instances”列出了各个簇中实例的数目及百分比: Clustered Instances 0 4 ( 15%) 1 3 ( 12%) 2 4 ( 15%) 3 3 ( 12%) 4 2 ( 8%)

5 10 ( 38%)(各类的包含的实例个数以及占总实例的百分比) 三、根据提供的“data02”进行关联分析

由于程序和系统故障,所以不能正确的进行关联分析

5.实验总结

本次实验进行比较顺利,使我对如何在Weka中进行分类分析有了更深刻的了解,对Weka中进行

分类分析的KNN算法,k-means算法和决策树算法都有了进一步的理解,同时也深刻体会到数据预处理对于数据挖掘的重要性。

联系合同范文客服:xxxxx#qq.com(#替换为@)