weka使用训练集分类测试集_科学网—使用独立测试集对分类模型进行评估 - 李向东的博文...
这两天还是纠结于分类模型的准确率。因为对从网上随机摘录的文本进行分类时,结果总是不甚理想,不像使用cross-validation得到的结果那么好。
于是决定使用独立测试集(含1402个实例)进行评估。训练集实例9804个,特征9302个,没有使用特征选择。准确率大约78%,其中“历史”和“艺术”有点分不清。结果如下:
-------------------------------------------------------------------------
weka.filters.unsupervised.attribute.StringToWordVector in:9804
Number of instances: 9804
Number of attributes: 9302
loading test data in:test_segmented......
weka.filters.unsupervised.attribute.StringToWordVector in:1402
weka.filters.unsupervised.attribute.ReplaceMissingValues in:9804
weka.filters.unsupervised.attribute.Normalize in:9804
evaluating.........
=== Detailed Accuracy By Class ===
TP Rate FP Rate Precision Recall F-Measure ROC Area Class
0.91 0.008 0.901 0.91 0.905 0.993 C11-Space
0.455 0.001 0.938 0.455 0.612 0.928 C15-Energy
0.464 0 1 0.464 0.634 0.974 C16-Electronics
0.556 0.001 0.938 0.556 0.698 0.989 C17-Communication
0.98 0.031 0.705 0.98 0.82 0.985 C19-Computer
0.588 0.003 0.833 0.588 0.69 0.96 C23-Mine
0.78 0.001 0.979 0.78 0.868 0.996 C29-Transport
0.81 0.035 0.638 0.81 0.714 0.974 C3-Art
0.95 0.006 0.922 0.95 0.936 0.994 C31-Enviornment
0.92 0.009 0.885 0.92 0.902 0.99 C32-Agriculture
0.96 0.034 0.686 0.96 0.8 0.979 C34-Economy
0.692 0.004 0.878 0.692 0.774 0.989 C35-Law
0.472 0 1 0.472 0.641 0.98 C36-Medical
0.526 0.002 0.952 0.526 0.678 0.992 C37-Military
0.91 0.048 0.591 0.91 0.717 0.965 C38-Politics
0.97 0.021 0.782 0.97 0.866 0.989 C39-Sports
0.235 0 1 0.235 0.381 0.852 C4-Literature
0.639 0.004 0.886 0.639 0.743 0.974 C5-Education
0.489 0.002 0.88 0.489 0.629 0.891 C6-Philosophy
0.75 0.026 0.688 0.75 0.718 0.963 C7-History
Correctly Classified Instances 1095 78.1027 %
Incorrectly Classified Instances 307 21.8973 %
Kappa statistic 0.7661
Mean absolute error 0.0904
Root mean squared error 0.2092
Relative absolute error 97.1367 %
Root relative squared error 94.8845 %
Total Number of Instances 1402
=== Confusion Matrix ===
a b c d e f g h i j k l m n o p q r s t
91 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | a = C11-Space
0 15 0 0 4 4 0 0 2 1 3 0 0 0 2 2 0 0 0 0 | b = C15-Energy
0 0 13 1 9 0 0 0 0 0 2 0 0 0 0 3 0 0 0 0 | c = C16-Electronics
1 0 0 15 7 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 | d = C17-Communication
2 0 0 0 98 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | e = C19-Computer
0 0 0 0 7 20 0 0 2 0 2 0 0 0 2 1 0 0 0 0 | f = C23-Mine
0 1 0 0 1 0 46 0 0 0 5 2 0 0 3 1 0 0 0 0 | g = C29-Transport
0 0 0 0 0 0 0 81 0 0 1 0 0 0 0 0 0 0 0 18 | h = C3-Art
0 0 0 0 1 0 0 0 95 4 0 0 0 0 0 0 0 0 0 0 | i = C31-Enviornment
0 0 0 0 0 0 0 0 0 92 7 0 0 0 0 0 0 0 0 1 | j = C32-Agriculture
0 0 0 0 0 0 0 0 0 1 96 0 0 0 2 0 0 0 0 1 | k = C34-Economy
0 0 0 0 0 0 1 0 0 1 5 36 0 1 8 0 0 0 0 0 | l = C35-Law
0 0 0 0 0 0 0 2 0 4 8 1 25 0 7 4 0 2 0 0 | m = C36-Medical
4 0 0 0 0 0 0 0 1 0 1 1 0 40 24 3 0 1 0 1 | n = C37-Military
0 0 0 0 0 0 0 0 0 0 3 0 0 0 91 0 0 0 0 6 | o = C38-Politics
0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 97 0 0 0 1 | p = C39-Sports
0 0 0 0 1 0 0 13 0 0 1 0 0 0 3 2 8 0 2 4 | q = C4-Literature
0 0 0 0 0 0 0 3 1 1 1 1 0 0 6 9 0 39 0 0 | r = C5-Education
3 0 0 0 2 0 0 8 1 0 1 0 0 0 4 0 0 2 22 2 | s = C6-Philosophy
0 0 0 0 0 0 0 19 0 0 3 0 0 0 1 1 0 0 1 75 | t = C7-History
-------------------------------------------------------------------------
源文件主要代码:
String traindatadir = "train_segmented";
TextDirectoryLoader loader = new TextDirectoryLoader();
loader.setDirectory(new File( traindatadir ));
Instances dataRaw = loader.getDataSet();
StringToWordVector filter = new StringToWordVector();
filter.setStemmer( new NullStemmer() );
filter.setInputFormat(dataRaw);
System.out.println("nnfiltering data in:" + traindatadir+ "......nn");
Instances dataFiltered = Filter.useFilter(dataRaw, filter);
System.out.println("Number of instances: "+ dataFiltered.numInstances());
System.out.println("Number of attributes: "+ dataFiltered.numAttributes());
String testdatadir = "test_segmented";
System.out.println("nnloading test data in:" + testdatadir+ "......nn");
loader.setDirectory(new File( testdatadir ));
Instances testRaw = loader.getDataSet();
//因为刚刚过滤了训练集,所以过滤器会使用训练集的结构对testRaw进行过滤
Instances testFiltered=Filter.useFilter(testRaw, filter);
SMO classifier = new SMO();
classifier.buildClassifier(dataFiltered);
System.out.println("evaluating.........");
Evaluation eval = new Evaluation(dataFiltered);
eval.evaluateModel(classifier, testFiltered); //使用独立测试集进行评估
System.out.println(eval.toClassDetailsString());
System.out.println(eval.toSummaryString());
System.out.println(eval.toMatrixString());
现在想知道的是,否能保存刚刚过滤了训练集的过滤器?以便下次对一个文本进行过滤和分类?
转载本文请联系原作者获取授权,同时请注明本文来自李向东科学网博客。
链接地址:http://blog.sciencenet.cn/blog-713110-574111.html
上一篇:weka中使用TFIDF进行特征选择
下一篇:使用DataSource和DataSink
weka使用训练集分类测试集_科学网—使用独立测试集对分类模型进行评估 - 李向东的博文...相关推荐
- latex中文小标题_科学网—一个较为完整的中文图书Latex模板 - 张金龙的博文
用Latex编写中文书是让人头疼的工作.如果不是需要输入很多公式,很多人是不愿意用latex排版中文书的. 在ctex宏包发布之前, latex系统对中文排版的支持一直不太理想.虽然中文能够正常显示, ...
- ipadpython代码_科学网—如何用iPad运行Python代码? - 王树义的博文
其实,不只是iPad,手机也可以. 痛点 我组织过几次线下编程工作坊,带着同学们用Python处理数据科学问题. 其中最让人头疼的,就是运行环境的安装. 实事求是地讲,参加工作坊之前,我已经做了认真准 ...
- python笔记图片_科学网—python数据处理笔记(二)p-v图 - 钱磊的博文
python数据处理笔记(二)p-v图 已有 9903 次阅读 2012-5-24 17:46 |个人分类:知识|系统分类:科研笔记| Python, 分子云, 常用工具, p-v图 p-v图是分析分 ...
- python对数运算符号_科学网—Python中算数运算符之注意及np.logspace - 张伟的博文...
(一)算数运算符 数字2 是一个整数的例子. 长整数 不过是大一些的整数. 3.23和52.3E-4是浮点数的例子.E标记表示10的幂.在这里,52.3E-4表示52.3 * 10-4. (-5+4j ...
- hdc mfc 画扇形图_科学网—画扇形图(idl程序) - 张国印的博文
IDL画扇形图还是有些麻烦的,今天中午没午休,以红移和RA为例写了程序,希望以后能用上 pro sector set_plot,'ps' device,file='F:Aprilmap.ps' REA ...
- python的安装包下载_科学网—[转载]python常用的安装包下载 - 林清莹的博文
Python常用的安装包下载 1.首先应该下载dlib安装包(例如:dlib-19.8.1-cp36-cp36m-win_amd64.whl) 可以通过此网址进行下载对应的dlib包 https: ...
- python写一个笔记软件_科学网—python学习笔记(1)——创建应用 - 高雪峰的博文...
创建应用的步骤打开命令行 进入manage.py的同级目录 命令行输入:python manage.py startapp blog 添加应用名到sittings.py中的Installed_apps ...
- java判断路径是否存在_科学网—Java判断文件目录以及文件是否存在 - 林清莹的博文...
在项目中需要判断文件额路径是否存在,以及路径下的文件是否存在,这对于软件的人性化是一个指标, 最近在查找相关资料后,特将方法写出来以便日后用到. /** * 判断文件及目录是否存在,若不存在则创建文件 ...
- python networkx 边权重_科学网—NetworkX:关于边的权重及其画图 - 胡海华的博文
这两天因为有个想法,想用NetworkX跑一跑看看情况,但是在权重上犯了糊涂. NetworkX添加带有权重的边很简单,只需要以三个元素的元组(a, b, w)来表示就可以了,其中ab代表节点a和b- ...
最新文章
- 网站推广中的优化雷区作为网站推广专员你了解多少?
- 路由器中的管理间距和量度参数
- 基于云的SD-WAN骨干接入服务
- Android SQLite数据库增删改查操作
- Nginx_负载均衡配置讲解
- 来自Google资深工程师的API设计最佳实践
- 开发跨平台应用解决方案-uniapp 真心不错,支持一波
- tensorflow c++接口,python训练模型,c++调用
- wpf ListView圆角
- MATLAB切换中文(无语言选项)
- 互联网晚报 | 12月7日 星期二 | 阿里新设两大数字商业板块;B站宣布迈入8K超高清时代;中国物流集团正式成立...
- Oracle全局临时表和私有临时表
- c语言if常见的错误,C语言if语句的一些小错误
- 2022年QQ微信内置浏览器 UA 标识, Header 获取
- json字符串转换成list对象
- 考研操作系统【1.1 操作系统的基本概念】
- Python 多项式预测2019年天猫销售额
- xp系统无法访问局域网计算机,xp拒绝访问| windows xp系统局域网拒绝访问怎么办...
- 兰州计算机学校排行榜,兰州计算机学校排行
- 联想台式计算机HDMI使用,支持HDMI输入输出 一机多用_联想ThinkCentre E93z Touch Pro_一体电脑评测-中关村在线...