【问题标题】:Weka - Classifier returns the same distribution for any inputWeka - 分类器为任何输入返回相同的分布
【发布时间】:2017-12-15 10:59:55
【问题描述】:

我正在尝试构建一个朴素贝叶斯分类器,用于对两个类之间的文本进行分类。在 GUI 资源管理器中一切正常,但是当我尝试在代码中重新创建它时,无论我尝试对什么输入进行分类,我都会得到相同的输出。

在代码中,我得到了与 GUI 中相同的评估指标(81% 的准确度),但每当我尝试创建一个新实例并对其进行分类时,无论输入什么,我都会得到两个类的相同分布使用。

以下是我的代码 - 它在 scala 中,但非常简单:

//Building the classifier: 
val instances = new Instances(new DataSource("/my/dataset.arff").getDataSet)
instances.setClassIndex(3)

val filter = new StringToWordVector
filter.setAttributeIndicesArray( (0 to 2).toArray )
val classifier = new FilteredClassifier
classifier.setFilter(new StringToWordVector(1000000))
classifier.setClassifier(new NaiveBayesMultinomial)
classifier.buildClassifier(trainingSet)

//Evaluation (this prints about 80% accuracy)
val eval = new Evaluation(trainingSet)
eval.evaluateModel(classifier, trainingSet)

println(eval.toSummaryString)

//Attempting to use the classifier:

val atts = new util.ArrayList[Attribute]
atts.add(new Attribute("sentence", true))
atts.add(new Attribute("parts_of_speech", true))
atts.add(new Attribute("dependency_graph", true))
atts.add(new Attribute("the_shizzle_clazz", SentenceType.values().map(_.name()).toSeq.asJava ))

val unlabeledInstances = new Instances("unlabeled", atts, 1)
unlabeledInstances.setClassIndex( 3 )

val instance = new DenseInstance(4)

unlabeledInstances.add(instance)
instance.setDataset(unlabeledInstances)

instance.setValue(0, parsed.sentence)
instance.setValue(1, parsed.posTagsStr)
instance.setValue(2, parsed.depsGraphStr)

val distrib = classifier.distributionForInstance(unlabeledInstance.firstInstance())

distrib.foreach(println)

无论我给什么输入,distrib的输出总是:

0.44556173367704455
0.5544382663229555

任何想法我做错了什么?非常感谢任何帮助。

【问题讨论】:

    标签: java nlp weka


    【解决方案1】:

    看起来神奇的线条是:

    instance.setClassMissing()
    

    添加它使其工作。 :)

    【讨论】:

      猜你喜欢
      • 2019-03-26
      • 2013-09-14
      • 1970-01-01
      • 2021-09-19
      • 2014-05-31
      • 2013-03-10
      • 2023-04-08
      • 2012-06-30
      • 2015-12-08
      相关资源
      最近更新 更多