weka使用训练集分类测试集_技术分享
一、实验目的熟悉weka基本功能和使用方法
学习对数据集进行分类训练并测试
比较不同分类算法对本实验测试集预测的准确率
二、实验环境平台:Weka3.8
数据集:将Weka的data文件夹下默认数据集vote.arff的前20个实例作为测试集,其余实例作为训练集
三、实验概况观察数据集的属性类别以及实例来确定是否进行过滤处理
利用训练集分别采用C4.5决策树分类器、基于规则的分类器和K最近邻三种算法进行分类训练,并对测试集进行预测
比较三种分类器对本实验数据集分类模型的优劣
四、实验内容
4.1 观察数据集
在weka中打开测试集votetest.arff,观察到数据集共有435个实例,每个实例是一个国会议员的投票信息以及派别,共有17个二元属性,其中一个为类别属性。并且该数据集带有一定的缺失值。国会议员通常按照其党政路线进行投票,本实验通过对议员投票情况(16个属性)对其类别属性进行分类,得到两种派系对政策投票的大致方案。数据集中数据没有与实验无关属性,不进行过滤。
4.2 使用C4.5决策树算法进行分类训练
C4.5决策树算法能够处理具有缺省值的数据,使用信息增益率作为属性选择标准,能对生成树剪枝(参考《数据挖掘与机器学习—WEKA应用技术与实践》)。C4.5在weka中的实现是J48决策树。选择J48进行分类。
训练结果
使用C4.5决策树分类器训练数据集(435个实例),得到树形结构如上图所示,共有6个叶子节点。分类模型的准确率为97.2414%,正确分类的实例有423个,Kappa统计量为0.9418,平均绝对误差为0.0519,ROC面积为0.986;混淆矩阵中被错误分类的数据:6个republican被误分为democrat,6个democrat被误分为republican。
测试:使用测试集进行预测
预测结果
预测准确率为95%,ROC面积为0.939,20个实例中有19个预测正确,一个错误。根据混淆矩阵得:一个republican被错误分类到democrat。
4.3 基于规则的分类器进行分类训练
分类模型的规则使用析取范式R=(r1 V r2 V … V rk),规则ri的形式:(Condition)->yi,规则左边是属性测试的合取,右边为预测类别。本实验采用的JRip分类器实现了命题规则学习,重复增量修剪以减少产生错误。(参考《数据挖掘与机器学习—WEKA应用技术与实践》)
分类训练构建模型
训练结果
分类训练得到的规则共有4个。分类模型的准确率为96.5517%,正确分类的实例有420个,Kappa统计量为0.9277,平均绝对误差为0.0615,ROC面积为0.976;混淆矩阵中被错误分类的数据:10个republican被误分为democrat,5个democrat被误分为republican。
预测
预测结果
预测准确率为95%,ROC面积为0.939,20个实例中有19个预测正确,一个错误。根据混淆矩阵得:一个republican被错误分类到democrat。
4.4 基于K最近邻算法的分类器进行分类训练
通过找出与测试样本相近的训练样本,用最近邻的类别标签确定测试样本的类别标签。IBK分类器是一种k-最邻近分类器,可用多种不同搜索算法加快寻找最近邻。(参考《数据挖掘与机器学习—WEKA应用技术与实践》)
训练结果
K-最邻近分类模型的准确率为99.7701%,正确分类的实例有434个,Kappa统计量为0.9951,平均绝对误差为0.0049,ROC面积为1.000;混淆矩阵中被错误分类的数据:1个democrat被误分为republican。
预测
预测结果:对20个实例的预测全部正确,预测正确率为100%。
五、实验分析
比较分析:在本实验中KNN算法相比于C4.5决策树、规则分类具有更好的分类效果。
六、实验总结
根据议员对各个法案的投票,采用KNN算法可以进行更准确的分类,并根据分类模型可以大概率地推测出议员所属党系。一个议员对法案的投票通过与否基本不会偏离所属党派的主要策略。那么一个议员的属性在特征空间里相似的样本中大多属于某一类,则说明其观点大多一致,属于同一党派。KNN算法对这种党派分类与现实符合,从实例具有的全部属性进行判断。而决策树以及规则的分类模型条件划分是对个别属性是否来判断确定,但是对党派的划分条件不应该只根据局部的几个属性进行判断,所以从现实角度看这两种算法也不合适。
weka使用训练集分类测试集_技术分享相关推荐
- weka使用训练集分类测试集_科学网—使用独立测试集对分类模型进行评估 - 李向东的博文...
这两天还是纠结于分类模型的准确率.因为对从网上随机摘录的文本进行分类时,结果总是不甚理想,不像使用cross-validation得到的结果那么好. 于是决定使用独立测试集(含1402个实例)进行评估 ...
- weka使用训练集分类测试集_Giao 13C NMR计算分类训练集提高结构归属的准确性和可靠性...
Giao 13C NMR计算分类训练集提高结构归属的准确性和可靠性 前言 GIAO 13C NMR计算对于小分子结构归属有很重要的作用,尤其对于需要提高准确性和可信性的复杂有机分子的结构归属.准确度是 ...
- weka使用训练集分类测试集_weka实验报告
基于weka的数据分类分析实验报告 姓名:学号: 1实验基本内容 本实验的基本内容是通过使用weka中的三种常见分类方法(朴素贝叶斯,KNN和决策树C4.5)分别在训练数据上训练出分类模型,并使用校验 ...
- Python计算训练数据集(测试集)中某个分类变量阴性(阳性)标签样本的不同水平(level)或者分类值的统计个数以及比例
Python计算训练数据集(测试集)中某个分类变量阴性(阳性)标签样本的不同水平(level)或者分类值的统计个数以及比例 目录
- python尝试不同的随机数进行数据划分、使用卡方检验依次计算不同随机数划分下训练接和测试集所有分类特征的卡方检验的p值,如果所有p值都大于0.05则训练集和测试集都具有统计显著性、数据划分合理
python尝试不同的随机数进行数据划分.使用卡方检验依次计算不同随机数划分下训练接和测试集所有分类特征(categorical)的卡方检验的p值,如果所有p值都大于0.05则退出循环.则训练集和测试 ...
- 数据集划分,Oxford Flower102花卉分类数据集,分为训练集、测试集、验证集
数据集划分,Oxford Flower102花卉分类数据集,分为训练集.测试集 Oxford Flower102数据集链接:https://www.robots.ox.ac.uk/~vgg/data/ ...
- 102类花卉分类数据集(已划分,有训练集、测试集、验证集标签)
102类花卉分类数据集(已划分,有训练集.测试集.验证集标签)+完整运行代码 数据集已经经过处理划分好了,并且附带了训练集,测试集,验证集的txt文本标签.配合完整运行代码即可训练. 数据集链接在文章 ...
- python划分训练集和测试集_杨涛的Python机器学习3:单特征与多特征、训练集与测试集,杨桃...
本人CSDN博客专栏:https://blog.csdn.net/yty_7 Github地址:https://github.com/yot777/ 单特征与多特征 在上一节标签和特征的示例中,我们使 ...
- ML基础 : 训练集,验证集,测试集关系及划分 Relation and Devision among training set, validation set and testing set...
首先三个概念存在于 有监督学习的范畴 Training set: A set of examples used for learning, which is to fit the parameters ...
最新文章
- lego training
- [NOI2013]快餐店
- mysql中blog数据_zp blog
- Asterisk文件目录
- Tips--Docker常用命令
- map java 初始化赋值_Java 中 HashMap 初始化时赋值(示例代码)
- 计算机网络之码元、波特、速率与带宽
- 面向模式的软件体系结构
- php xml构造,C++_C语言实现xml构造解析器,纯C实现xml构造解析器,所有实 - phpStudy...
- java基础篇(二) ----- java面向对象的三大特性之继承
- zz 教你如何用proxyhunter找大学代理
- 将 .json 格式 转换成 .xml格式
- DOS命令是如何操作目录和文件夹的?
- 人脸识别之人脸识别技术综述
- 坐标转换-大地坐标系与空间直角坐标系(附软件下载)
- 为什么有人劝别选计算机专业?
- 深度推荐模型之NFM模型
- 如何获取网站的ico图标
- 谷从何来,歌向何去——Google产品策略分析
- 虚拟机使用docker搭建Prometheus