【问题标题】:Diffrents between the result of machine learning algorithm?机器学习算法的结果有什么区别?
【发布时间】:2020-02-21 11:35:12
【问题描述】:

我正在从事一个文本挖掘项目,我使用标记的推文数据集(是或否与地震相关的推文包括 8000 个样本)来训练 Naive、MLP(深度学习)LibSVM 分类器来分类(是或否)未标记的推文(28000 个样本)在 RapidMiner 上。以下是三种机器学习算法的结果:

天真

准确度 = 80%

标记为“是”的推文数= 6056

MLP

准确率 = 86%

标记为“是”的推文数= 2300

LibSVM

准确率 = 92%

标记为“是”的推文数= 53

我的问题是为什么标记的推文的数量有很大的不同?

【问题讨论】:

  • 看数据,而不仅仅是一些总结分数!在那些标有“是”的推文中,有多少真正与地震有关(阅读其中一些自己!)?
  • 我之前查过一些推文,有一些真实的地震相关推文。
  • 一些还是很多?训练数据中有多少?

标签: twitter data-mining libsvm rapidminer mlp


【解决方案1】:

我假设您提供的准确度来自您标记数据集的模型构建过程。这表示经过训练的模型可以“再现”训练数据的正确标签的程度。在你未知的、未标记的推文上分配的标签数量的巨大差异似乎表明你的模型中存在严重的过度拟合问题。这意味着模型经过很好的训练可以重现训练数据,但无法泛化新的未知数据。

作为第一个建议,请检查您的验证步骤。有一些基本技术(如交叉验证)试图避免过度拟合,但是通过将有关测试集的知识引入到训练数据中来“欺骗”自己的可能性有很多。

但是,如果没有具体的流程设置,我们只能推测。

【讨论】:

  • TNX,如何避免过拟合?我已经在 Rapid Miner 中将采样类型设置为自动。
  • 这是一个非常基本(不容易!)的问题,您必须始终牢记。我只能在非常肤浅的层面上回答:将您的测试集信息排除在训练集之外。基于时间的数据很难,因为 X-Val 在那里什么都不做。请记住,规范化模型还传输有关整个数据集的信息等。没有您的具体流程和数据,很难提供帮助。也许阅读一些关于验证和过度拟合的文章以获得更好的理解。甚至可以考虑参加一些基本的数据科学/机器学习培训。
  • TNX,这是一个全面的解释。我更改了内核类型(Poly 到 Linear kernel)和 C(Cost)值,它对我有用。
猜你喜欢
  • 2011-05-11
  • 2020-06-26
  • 2014-03-05
  • 2019-12-09
  • 2020-04-28
  • 2018-01-20
  • 2012-03-04
  • 2011-08-01
  • 1970-01-01
相关资源
最近更新 更多