在Mahout中,我们如何手动为朴素贝叶斯分类器制作训练向量和测试向量,而不是使用"--randomSelectionPct"
选项进行拆分。根据我的理解,我手动建立了火车矢量和测试矢量
bin/mahout seq2sparse -i TestSet0-seq -o TestSet0-vectors
bin/mahout seq2sparse -i TrainSet0-seq -o TrainSet0-vectors
/home/marvin1/hadoop-1.0.4/bin/hadoop fs -cp /user/marvin1/TestSet0-vectors/tfidf-vectors /user/marvin1/test-vectors
/home/marvin1/hadoop-1.0.4/bin/hadoop fs -cp /user/marvin1/TrainSet0-vectors/tfidf-vectors /user/marvin1/train-vectors
但是这个准确度仅为1%。这里数据是90-10手动分割。但是当我将完整的数据(训练+测试)传递给mahout并使用"--randomSelectionPct 10
时。然后它提供了大约50%的准确度。
请让我知道我在这方面做错了什么。
答案 0 :(得分:0)
可能我在回答这个问题时已经太晚了......但无论如何,这就是我要说的......你是如何做分裂的事情很多......我面对的是类似的问题,在训练数据集时,我曾使用属于一个特定类的数据的一部分而不是另一个(参见Overfitting)。因此,尝试使用一些随机方法分割数据集,并检查结果。应该肯定会改善。