基于weka的分类方法的实现
分类方法的实现
基于weka的分类方法的实现,包括:KNN分类、决策树分类、朴素贝叶斯分类
步骤
KNN分类
1. 打开weka进入explorer 界面,加载天气数据集glass.arff,然后切换到classify标签页。单击choose依次选择weka->classifiers->lazy->IBk,,IBk是一种KNN分类器。IBk的参数值保持默认,使用交叉验证的方式测试该分类器的性能。
2. 点击start,得到如下结果:
3. 下面将大小不等的噪声数据,加入到玻璃数据集中,观察对分类器性能的影响。
通过weka->filters->unsupervised->attribute中的AddNoise过滤器,将玻璃数据集中一定比例的类别标签翻转为其他的类别标签,这就是加入噪声数据,即将正确的类别标签改成错误的。但是我们只希望在训练数据中加入噪声数据,测试数据中不加噪声数据,所以需要先选择FilteredClassifier分类器,它的功能是只让Addnoise对训练数据加入噪声。具体操作如下:
选择choose-weka-meta-FilteredClassifier,
单击如下位置,
弹出 FilteredClassifier参数设置窗口如下,设置分类器为KNN(IBk),添加噪声的算法Addnoise.
修改AddNoise过滤器的分类噪声百分比percent参数,从0%,10%一直到50%,设置完后,单击start按钮启动训练和评估,观察分类的准确率如何变化。
决策树分类
1.打开weather.nominal.arff,切换到classify页,选择决策树算法 weka->classifiers->trees->J48,算法参数不变。选择10折交叉验证方法,单击start运行,得出如下结果。
2.再选择使用训练集作为测试数据,如下
点击start得到如下结果
可以看到分类准确率是100%,解释上图矩形框中数据的含义,并思考为什么使用训练数据集进行测试的最终准确率要高。
3.选中下图矩形框中内容,右键,选择Visualize tree,可生成对应的决策树。
4.使用J48预测未知数据,创建测试数据集如下
用记事本编辑,名命为weather.nominal.test.arff.
选择,点击右边的set,打开测试数据集,再点击more option,设置如下
点击ok,再start运行决策树算法,得到如下结果:
朴素贝叶斯算法
打开weather.nominal.arff,切换到classify页,选择 weka->classifiers->bayes->BayesNet分类器,结果如下:
- 点赞
- 收藏
- 关注作者
评论(0)