我正在使用Spark和Scala进行推文的情感分析工作。我有一个使用逻辑回归模型的工作版本,如下所示:
使用逻辑回归时,返回了一个完全正常的AUC。然而,当我从逻辑回归切换到val nb = new NaiveBayes()时,我得到了以下错误:
found : org.apache.spark.mllib.classification.NaiveBayesrequired: org.apache.spark.ml.PipelineStage val pipeline = new Pipeline().setStages(Array(tokenizer, filterer, countVectorizer, nb))
在查阅MLlib的API文档时,PipelineStage列表中,逻辑回归和朴素贝叶斯都被列为子类。那么为什么LR能工作而NB不能呢?
回答:
它不工作是因为你使用了错误的类。在使用Pipelines时使用:
org.apache.spark.ml.NaiveBayes
并查阅文档以获取正确的语法。