首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >情感分类中的缺失值

情感分类中的缺失值
EN

Stack Overflow用户
提问于 2015-10-02 18:02:29
回答 1查看 286关注 0票数 2

我正在尝试使用python的sklearn包构建一个情感分析引擎。问题在于分析烂番茄对这个Kaggle比赛的评论。

https://www.kaggle.com/c/sentiment-analysis-on-movie-reviews

这种情绪可以采取5个可能的价值。

我使用以下分类器

  1. 多项式朴素贝叶斯
  2. Logistic回归
  3. 随机梯度下降

由于这些都是适合于二进制分类的线性分类器,下面是我必须采取的步骤

  1. 将训练和测试分成5部分,每个情绪1部分。让我们说情绪的可能值是a,b,c,d,e。所以在我的数据的第一部分,我将得到所有的评论,但是有情绪'a‘的评论将被标记为肯定的,而其他的将被标记为负值。同样,我也为其他情感价值创造了其他的部分。
  2. 清除所有5个部分的数据
  3. 创建一个管道,并将所有测试集部件一个接一个地提供给我的分类器。我将存储每个部分的一个结果。因此,第一部分的分类结果是partOneRes等。任何在partOneRes中被标记为积极的东西都属于情绪'a‘。其他部分也是如此。
  4. 最后,我想将所有五个部分的结果结合起来。我会看看partOneRes。任何被标记为积极的东西都会变成情绪'a‘。我也会为所有其他部分做同样的工作。然后我简单地将结果合并。
  5. 如果我没有重叠或者重复的话,那就很理想了。但是我得到了少量的副本,这很好。我可以添加一些逻辑来处理这个问题。
  6. 我会对所有三个分类器都这样做,最后我想知道哪个分类器给了我最好的结果。

我的问题是,我可以看到,有许多评论,我的分类器不能放在任何类别!为什么会发生这种事?这可能是由于数据集的小大小造成的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-02 22:38:50

重申一下,问题在于,您所培训的五个二进制模型并不是相互详尽的。有几种可能性。首先,你对这五种情绪中的每一种都有100%干净的分类,还是有一些公认的分类错误?

您需要一个相互排斥且详尽无遗的集合。你的方法表明,但很难保证这一结果。您可能会考虑一种集成的解决方案,它确实提供了这种保证。多类支持向量机就是其中之一,但可能不能很好地适用于你的情况.

如果这些类不是100%的精确性,那么很容易让所有五个类都拒绝特定的观察。这表明您的分类算法需要调优,或者数据本身并不像您所希望的那样易于分类。

您还可以检查是否已经适当地清除了该数据;一些错误可能会严重地移动类边界。

我怀疑正在发生的是一个小的边界效应:与其他四个类的组合相比,每一个类都“拉”了它的边界,在最后几组之间留下了无人认领的区域。

你有方法检查训练后的分类参数吗?如果是这样的话,你能可视化所选择的五个边界吗?如果你确实发现了病理性的空白,是否有你可以调整的训练参数,比如给训练组一个更大的感应器?

我希望这能帮到你。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32913155

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档