在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。但是当我将完整的数据(train+test)传递给mahout并使用"--randomSelectionPct 10时“。然后它提供了大约50%的准确性。请让我知道我在这方面做错了什么。
发布于 2014-04-04 13:55:32
也许我回答这个query......but已经太晚了,不管怎样,这是我要说的……
如何进行拆分非常重要。有一次在训练数据集时,我曾遇到过类似的问题,因为我使用了属于一个特定类而不是另一个类的部分数据(请参阅Overfitting)。因此,尝试使用一些随机化方法拆分数据集,并检查结果。应该会有明显的改善。
https://stackoverflow.com/questions/16412357
复制相似问题