Python 情感分类中的缺失值
我正在尝试使用python的sklearn包构建一个情绪分析引擎。 问题是分析关于这场卡格尔大赛的烂西红柿评论 情感可以有5种可能的价值观 我正在使用以下分类器Python 情感分类中的缺失值,python,machine-learning,nlp,sentiment-analysis,Python,Machine Learning,Nlp,Sentiment Analysis,我正在尝试使用python的sklearn包构建一个情绪分析引擎。 问题是分析关于这场卡格尔大赛的烂西红柿评论 情感可以有5种可能的价值观 我正在使用以下分类器 多项式朴素贝叶斯 逻辑回归 随机梯度下降 由于这些都是适合于二进制分类的线性分类器,下面是我必须采取的步骤 将训练和测试集分成5个部分,每个部分一个。 假设情绪的可能值为a、b、c、d、e。因此,在我的数据的第一部分,我将有所有的评论,但有情绪“a”的评论将被标记为积极的,所有其他评论将被标记为消极的。同样,我为其他情绪值创建其他部分
我的问题是,我可以看到,有很多评论,我的分类器不能放在任何类别!为什么会发生这种情况?这可能是因为数据集太小了吗?再次说明,问题是您训练的五个二进制模型并不是相互穷举的。有几种可能性。 首先,你对这五种情绪都有一个100%干净的分类,还是有一些公认的分类错误 您需要一个相互排斥且详尽无遗的集合。你的方法暗示了这一结果,但很难保证。你可以考虑一个综合的解决方案来保证这一点。多类支持向量机就是这样一种,但可能不适合您的情况 如果这些类不是100%准确,那么很容易让所有五个类都拒绝某个特定的观察结果。这表明您的分类算法需要调整,或者数据本身不像您希望的那样适合分类 您还可以检查是否已适当地清理了该数据;一些错误会严重移动类边界 我怀疑正在发生的是一个小的边界效应:当与其他四个类的组合相比较时,每个类都“拉”了自己的边界,在最后两组之间留下无人认领的区域 您是否有办法在培训后检查分类参数?如果是的话,你能想象所选的五个边界吗?如果你确实发现了病理性差异,是否有可以调整的训练参数,比如给训练组一个更大的ε
我希望这能有所帮助。谢谢你的建议!我将检查我的数据和分类器,并尝试找出是否可以正确调整它。我相信我没有太多的训练和测试数据,所以我想我可能不得不忍受这些差距。谢谢你的澄清。