这两天还是纠结于分类模型的准确率。因为对从网上随机摘录的文本进行分类时,结果总是不甚理想,不像使用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使用训练集分类测试集_科学网—使用独立测试集对分类模型进行评估 - 李向东的博文...相关推荐

  1. latex中文小标题_科学网—一个较为完整的中文图书Latex模板 - 张金龙的博文

    用Latex编写中文书是让人头疼的工作.如果不是需要输入很多公式,很多人是不愿意用latex排版中文书的. 在ctex宏包发布之前, latex系统对中文排版的支持一直不太理想.虽然中文能够正常显示, ...

  2. ipadpython代码_科学网—如何用iPad运行Python代码? - 王树义的博文

    其实,不只是iPad,手机也可以. 痛点 我组织过几次线下编程工作坊,带着同学们用Python处理数据科学问题. 其中最让人头疼的,就是运行环境的安装. 实事求是地讲,参加工作坊之前,我已经做了认真准 ...

  3. python笔记图片_科学网—python数据处理笔记(二)p-v图 - 钱磊的博文

    python数据处理笔记(二)p-v图 已有 9903 次阅读 2012-5-24 17:46 |个人分类:知识|系统分类:科研笔记| Python, 分子云, 常用工具, p-v图 p-v图是分析分 ...

  4. python对数运算符号_科学网—Python中算数运算符之注意及np.logspace - 张伟的博文...

    (一)算数运算符 数字2 是一个整数的例子. 长整数 不过是大一些的整数. 3.23和52.3E-4是浮点数的例子.E标记表示10的幂.在这里,52.3E-4表示52.3 * 10-4. (-5+4j ...

  5. hdc mfc 画扇形图_科学网—画扇形图(idl程序) - 张国印的博文

    IDL画扇形图还是有些麻烦的,今天中午没午休,以红移和RA为例写了程序,希望以后能用上 pro sector set_plot,'ps' device,file='F:Aprilmap.ps' REA ...

  6. python的安装包下载_科学网—[转载]python常用的安装包下载 - 林清莹的博文

    Python常用的安装包下载 1.首先应该下载dlib安装包(例如:dlib-19.8.1-cp36-cp36m-win_amd64.whl) 可以通过此网址进行下载对应的dlib包   https: ...

  7. python写一个笔记软件_科学网—python学习笔记(1)——创建应用 - 高雪峰的博文...

    创建应用的步骤打开命令行 进入manage.py的同级目录 命令行输入:python manage.py startapp blog 添加应用名到sittings.py中的Installed_apps ...

  8. java判断路径是否存在_科学网—Java判断文件目录以及文件是否存在 - 林清莹的博文...

    在项目中需要判断文件额路径是否存在,以及路径下的文件是否存在,这对于软件的人性化是一个指标, 最近在查找相关资料后,特将方法写出来以便日后用到. /** * 判断文件及目录是否存在,若不存在则创建文件 ...

  9. python networkx 边权重_科学网—NetworkX:关于边的权重及其画图 - 胡海华的博文

    这两天因为有个想法,想用NetworkX跑一跑看看情况,但是在权重上犯了糊涂. NetworkX添加带有权重的边很简单,只需要以三个元素的元组(a, b, w)来表示就可以了,其中ab代表节点a和b- ...

最新文章

  1. 网站推广中的优化雷区作为网站推广专员你了解多少?
  2. 路由器中的管理间距和量度参数
  3. 基于云的SD-WAN骨干接入服务
  4. Android SQLite数据库增删改查操作
  5. Nginx_负载均衡配置讲解
  6. 来自Google资深工程师的API设计最佳实践
  7. 开发跨平台应用解决方案-uniapp 真心不错,支持一波
  8. tensorflow c++接口,python训练模型,c++调用
  9. wpf ListView圆角
  10. MATLAB切换中文(无语言选项)
  11. 互联网晚报 | 12月7日 星期二 | 阿里新设两大数字商业板块;B站宣布迈入8K超高清时代;中国物流集团正式成立...
  12. Oracle全局临时表和私有临时表
  13. c语言if常见的错误,C语言if语句的一些小错误
  14. 2022年QQ微信内置浏览器 UA 标识, Header 获取
  15. json字符串转换成list对象
  16. 考研操作系统【1.1 操作系统的基本概念】
  17. Python 多项式预测2019年天猫销售额
  18. xp系统无法访问局域网计算机,xp拒绝访问| windows xp系统局域网拒绝访问怎么办...
  19. 兰州计算机学校排行榜,兰州计算机学校排行
  20. 联想台式计算机HDMI使用,支持HDMI输入输出 一机多用_联想ThinkCentre E93z Touch Pro_一体电脑评测-中关村在线...

热门文章

  1. 《大数据》2021年第5期目次摘要
  2. 作者:冯仕政(1974-),男,中国人民大学社会与人口学院教授、副院长。
  3. 【项目管理】虚拟团队
  4. 【Java】设计模式在Gourmet咖啡系统中的应用
  5. Python中eval与exec的使用及区别
  6. DataGrip使用: 表的数据迁移-数据导出sql和执行sql
  7. ansible介绍+基本操作
  8. Vue内容分发slot
  9. OAuth 2.0系列教程(八) 授权码授权
  10. php 比较字符串或文章的相似度