2016-05-23 16 views
1

我使用MLlib的LogisticRegressionWithLBFGS來訓練4個類的模型。MLlib LogisticRegressionWithLBFGS使用model.predict時出錯

這是準備我的數據的代碼,

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

因爲它沒有。你訓練並立即丟棄模型。你稱之爲模型只是一個算法描述。 – zero323

回答

1

「model」正在定義您要使用的分類器。

當你訓練模型時你沒有保存它,試試這個;

val classifier = new LogisticRegressionWithLBFGS() 
classifier.setNumClasses(5) 
val model = classifier.run(trainingData) 
+0

FWIW,這個錯誤直接來自https://spark.apache.org/docs/1.6.2/mllib-linear-methods.html的spark文檔 –

相關問題