《数据挖掘基础》实验:Weka平台实现分类算法

实验目的

进一步理解分类算法(决策树、贝叶斯),利用weka实现数据集的分类处理,学会调整模型参数,以图或树的形式给出挖掘结果,并解释规则的含义。

实验要求

随机选取数据集(UCI或data文件夹),完成以下内容:(用三种方法:KNN、C4.5算法、贝叶斯算法)

  • 文件导入与编辑
  • 参数设置说明
  • 结果截图
  • 结果分析与对比

实验过程

1. 文件导入与编辑

单击Open file,选择自带数据集中的“iris.arff”数据集,数据集如图1所示。

图1 iris数据集

图1 iris数据集

对于iris数据集,它包含了150个实例(每个分类包含50个实例),共有sepal1ength、sepal width、petal length、petal width和class五种属性。期中前四种属性为数值类型,class属性为分类属性,表示实例所对应的的类别。该数据集中的全部实例共可分为三类:Iris Setosa、Iris Versicolour和Iris Virginica。
实验数据集中所有的数据都是实验所需的,不存在属性筛选的问题。

2. 参数设置说明

2.1 KNN算法

单击Classify->choose->lazy->IBK选择KNN算法,如图2所示。

图2 KNN算法选择

图2 KNN算法选择

单击choose右侧的文本框,弹出参数设置窗口,如下图所示。

图3 KNN算法参数设置

图3 KNN算法参数设置

KNN的值即算法中k的值,该值的选择会对算法的结果产生重大影响。
如果k值较小,就相当于用较小邻域中的训练实例进行预测,极端情况下k=1,测试实例只和最接近的一个样本有关,训练误差很小(0),但是如果这个样本恰好是噪声,预测就会出错,测试误差很大。也就是说,当k值较小时,会产生过拟合的现象。
如果k值较大,就相当于用很大邻域中的训练实例进行预测,极端情况是k=n,测试实例的结果是训练数据集中实例最多的类,这样会产生欠拟合。
在应用中,一般选择较小k并且k是奇数。通常采用交叉验证的方法来选取合适的k值,经过多次验证,选择合适的k值为7。

2.2 C4.5算法

单击Classify->choose->trees->J48选择C4.5算法,如图4所示。

图4 C4.5算法选择

图4 C4.5算法选择

单击choose右侧的文本框,弹出参数设置窗口,如下图所示。

图5 C4.5 算法参数设置

图5 C4.5 算法参数设置
  • confidenceFactor为置信度,设为0.25。
  • minNumObj表示决策树里每个决策节点最少需要的实例个数。越大则模型复杂度越低,也越不容易过拟合。

2.3 贝叶斯算法

单击Classify->choose->bayes->NaiveBayes选择贝叶斯算法,如图6所示。

图6 贝叶斯算法选择

图6 贝叶斯算法选择

单击choose右侧的文本框,弹出参数设置窗口,如下图所示。

图7 贝叶斯算法参数设置

图7 贝叶斯算法参数设置

结果截图

1. KNN算法

分类结果如图8所示,可知正确率为96.6667%,其中150个实例中的145个被正确分类,5个被错误分类。根据混淆矩阵,被错误分类实例的为: 2个c类实例被错误分类到b,3个b类实例被错误分类到c。

图8 KNN算法结果

图8 KNN算法结果

2. C4.5算法

分类结果如图9所示,可知准确率为96%,其中150个实例中的144个被正确分类,6个被错误分类。根据混淆矩阵,被错误分类实例的为:2个b类实例被错误分类到c,1个b类实例被错误分类到a;3个c类实例被错误分类到b。生成的决策树为图10。

图9 C4.5算法结果

图9 C4.5算法结果

图10 决策树

图10 决策树

3. 贝叶斯算法

分类结果如图11所示,可知准确率为96%,其中150个实例中的144个被正确分类,6个被错误分类。根据混淆矩阵,被错误分类实例的为:2个c类实例被错误分类到b,4个b类实例被错误分类到c。

图11 贝叶斯算法结果

图11 贝叶斯算法结果

结果分析

对于该数据集,KNN算法准确率更高,但K值的选择是个难点,较好的K值可以带来较优的结果,反之亦然。C4.5算法与朴素贝叶斯算法准确率相同,但贝叶斯算法在对不同实例错误分类较为不均匀,而C4.5算法则对b、c错误分类个数较为均匀,这在一定程度上会影响分类结果,如果侧重于实例c的分类则贝叶斯算法较好,而实例b则C4.5算法较好。

  • 25
    点赞
  • 181
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
weka平台上,可以使用ID3算法C4.5算法实现分类任务。ID3算法是一种基于信息增益的决策树算法,而C4.5算法是ID3算法的改进版本,它使用信息增益比来选择最佳的划分属性。\[2\] 在进行分类实验之前,需要进行数据处理,确保数据符合weka的输入格式。然后可以使用ID3算法C4.5算法来构建决策树模型。\[3\] 根据引用\[1\]中的描述,KNN算法在该数据集上的准确率较高,但K值的选择是一个难点。而C4.5算法和朴素贝叶斯算法的准确率相同,但它们在错误分类的分布上有所不同。C4.5算法对错误分类的分布较为均匀,而朴素贝叶斯算法对不同实例的错误分类较为不均匀。因此,在选择分类算法时,可以根据具体情况考虑实例的分类侧重点。如果侧重于实例c的分类,则贝叶斯算法较好;如果侧重于实例b的分类,则C4.5算法较好。\[1\] #### 引用[.reference_title] - *1* *3* [《数据挖掘基础实验Weka平台实现分类算法](https://blog.csdn.net/qq_36949278/article/details/122061663)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [weka使用ID3和C4.5算法 分类实验](https://blog.csdn.net/Fannie08/article/details/78845546)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lazyn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值