machine-learning - 20newsgroup-18828 数据集有什么问题?

标签 machine-learning weka

我目前正在 weka 中使用 20NewsGroup-18828 数据集。我选择了每个类别 100 个文档的子集(总共 2000 个文档),当我尝试使用朴素贝叶斯、SVM 和 K-nn 进行分类时,我将其分为 70%(训练)和 30%(测试),其准确性为非常低。这是我在数据集上执行的操作列表

  1. StringtoWordVector(使用 Tf-Idf 进行索引和术语权重、智能停用词列表、Snowball 词干分析器)

  2. 通过特征选择降维(InformationGain)

  3. 通过特征变换降维(随机投影)

当我使用包含 20,000 个文档的原始数据集时,它表现良好,但存在重复,例如某些文档被分类为多个类别。

有人使用过这个数据集吗?或者有人可以告诉我我做错了什么吗?

最佳答案

关于数据集之间的差异

20newsgroup(o原始数据集)和20newsgroup-18828(m修改)之间的主要区别是:

  • o 包含重复项,m 不包含重复项
  • o 包含琐碎问题,因为它包含新闻组标识 header ,m 仅包含来自主题 header (所以这仍然是问题的简单版本,但比o难),例如:

关于无神论的文件 51126

原始形式:

Path: cantaloupe.srv.cs.cmu.edu!crabapple.srv.cs.cmu.edu!fs7.ece.cmu.edu!europa.eng.gtefsd.com!howland.reston.ans.net!noc.near.net!news.centerline.com!uunet!olivea!sgigate!sgiblab!adagio.panasonic.com!nntp-server.caltech.edu!keith From: keith@cco.caltech.edu (Keith Allan Schneider) Newsgroups: alt.atheism Subject: Re: >>>>>>Pompous ass Message-ID: <1pi9btINNqa5@gap.caltech.edu> Date: 2 Apr 93 20:57:33 GMT References: <1ou4koINNe67@gap.caltech.edu> <1p72bkINNjt7@gap.caltech.edu> <93089.050046MVS104@psuvm.psu.edu> <1pa6ntINNs5d@gap.caltech.edu> <1993Mar30.210423.1302@bmerh85.bnr.ca> <1pcnqjINNpon@gap.caltech.edu> Organization: California Institute of Technology, Pasadena Lines: 9 NNTP-Posting-Host: punisher.caltech.edu

kmr4@po.CWRU.edu (Keith M. Ryan) writes:

>>Then why do people keep asking the same questions over and over?

>Because you rarely ever answer them.

Nope, I've answered each question posed, and most were answered multiple times.

keith

修改后的形式(-18828版本)

From: keith@cco.caltech.edu (Keith Allan Schneider)

Subject: Re: >>>>>>Pompous ass

kmr4@po.CWRU.edu (Keith M. Ryan) writes:

>>Then why do people keep asking the same questions over and over?

>Because you rarely ever answer them.

Nope, I've answered each question posed, and most were answered multiple times.

keith

正如您所看到的,原始数据非常简单,您实际上可以在文件内找到标签的名称...这就是为什么您总是会在此类数据上获得良好的分数,即使您的整个处理概念这是非常非常错误的。

所以问题不是“20newsgroup-18828 出了什么问题”,而是“原始数据集出了什么问题”。

总体思路

首先,你为什么会认为有什么问题?您正在非常小的(每类 70 个训练向量)数据集上执行非常任意的数据表示处理方法(两种不同的降维步骤)。这个数据没有任何问题,这是一个简单的 NLP 数据,由于大多数 NLP 任务需要大量数据,而“朴素”(不是基于 NLP)的降维技术已经不保证真正有帮助。

第二,即使你做错了什么,在 90% 的操作系统情况下(任意高的数字)错误是在用户认为他所做的和他实际做的之间。因此,描述您所做的事情不会带来任何帮助,您必须展示您到底做了什么(通过提供可重现的示例)。

关于machine-learning - 20newsgroup-18828 数据集有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21277972/

相关文章:

python - 使用 scikit 时 scipy.sparse 矩阵的缩放问题

java - Weka 预测分布中类值的顺序错误

machine-learning - 对新的名义实例进行分类时更新数据集

java - 如何使用 AddValues 向实例添加新的标称值?

java - Weka Apriori 算法快速 vector 输出内存位置值

numpy - 如何创建综合数据集

python - 时间序列数据的实时异常检测

python - TF-IDF 和非 TF-IDF 功能的准确性

machine-learning - Tensorflow:分离 TFRecords 中的训练和评估数据

java - weka 培训和 java 培训的不同结果