我的目标是测试多层感知器对20个新闻组数据的分类。我使用这种方法只能获得5%的准确度,但是使用Naive Bayes和KNN等其他分类方法可以获得~90%。我确定我做错了,所以这是我的代码,希望有人可以指出我正确的方向:
newsgroups_data.setClassIndex(newsgroups_data.numAttributes() - 1);
StringToWordVector filter = new StringToWordVector();
FilteredClassifier classifier = new FilteredClassifier();
classifier.setFilter(filter);
MultilayerPerceptron mlp = new MultilayerPerceptron();
mlp.setTrainingTime(300); //This alone takes an hour or more
mlp.setLearningRate(0.01);
mlp.setHiddenLayers("1");
mlp.setReset(false);
classifier.setClassifier(mlp);
classifier.buildClassifier(newsgroups_data);
Evaluation eval = new Evaluation(newsgroups_data);
答案 0 :(得分:0)
mlp.setHiddenLayers("1")
意味着您想要使用一个隐藏层,其中包含一个节点(这意味着您要设置一个神经网络,其中包含一个完整的神经元)。