• 作文选
  • 作文大全
  • 话题作文
  • 小学作文
  • 初中作文
  • 高中作文
  • 英语作文
  • 作文素材
  • 作文指导
  • 作文评语
  • 当前位置: 工作范文网 > 作文 > 作文素材 > 正文

    基于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 算法和决策树算法都有了进一步的理解,同时也深刻体会到数据预处理对于数据挖掘的重要性。

    有关的专题