我使用MLlib的LogisticRegressionWithLBFGS来训练一个有4个班级的模型。
这是准备我的数据的代码,
val labeledTraining = trainingSetVectors.map{case(target,features) => LabeledPoint(target,features) }.cache()
val Array(trainingData, testData) = labeledTraining.randomSplit(Array(0.7, 0.3))
训练模型,
val model = new LogisticRegressionWithLBFGS()
model.setNumClasses(5)
model.run(trainingData)
当我尝试测试模型时出现错误
val labelAndPreds = testData.map { Labeledpoint =>
val prediction = model.predict(LabeledPoint.features)
(LabeledPoint.target, prediction)
}
error: value predict is not a member of org.apache.spark.mllib.classification.LogisticRegressionWithLBFGS
为什么会这样?该模型经过培训,没有任何错误。
答案 0 :(得分:1)
“model”定义了您将要使用的分类器。
当你训练模型时,你没有保存它,试试这个;
val classifier = new LogisticRegressionWithLBFGS()
classifier.setNumClasses(5)
val model = classifier.run(trainingData)