我使用Mahout的朴素贝叶斯算法将Amazon评论分为正面评论或负面评论。
数据集分布不均。正面和负面的评论要多得多。使用随机选择的元组进行mahout拆分的随机选择的测试和训练集可带来良好的阳性分类结果,但假阳性率也很高。负面评论很少被归类为负面评论。
我猜想,一个具有相等数量的正题和负题的平均分布的训练集可能会解决这个问题。
我尝试过将mahout split与这些选项结合使用,然后仅切换培训和测试,但这似乎只为一个类提供小礼堂。
--testSplitSize (-ss) testSplitSize The number of documents
held back as test data for
each category
--testSplitPct (-sp) testSplitPct The % of documents held
back as test data for each
category
--splitLocation (-sl) splitLocation Location for start of test
data expressed as a
percentage of the input
file size (0=start,
50=middle, 100=end
是否可以通过mahout拆分或另一种方法来获得适当的训练集?
最佳答案
我会说培训和测试集应该反射(reflect)出人口不足的情况。我不会创建具有相同正面和负面评论的测试集。
更好的解决方案可能是通过引导创建多个集合。让委员会投票可以改善您的结果。
关于hadoop - Mahout:如何分为均等的训练集,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25188860/