1

我使用火花2 + Scala的培養基於邏輯迴歸二元分類模型與我使用import org.apache.spark.ml.classification.LogisticRegression,這是在火花2。然而新毫升API,當我通過AUROC評估的模型,我沒有找到一種方法來使用概率(0-1中的double)而不是二進制分類(0/1)。這是以前通過removeThreshold()實現的,但在ml.LogisticRegression中我沒有找到類似的方法。因此,有沒有辦法做到這一點?火花2邏輯迴歸刪除閾

我使用的評估是

val evaluator = new BinaryClassificationEvaluator() 
    .setLabelCol("label") 
    .setRawPredictionCol("rawPrediction") 
    .setMetricName("areaUnderROC") 
val auroc = evaluator.evaluate(predictions)` 
+0

其實它看起來像如果setRawPredictionCol概率,它應該使用概率而不是預測。有人可以證實嗎? –

回答

0

如果u想獲得比0/1輸出等概率輸出,試試這個:

import org.apache.spark.ml.classification.{BinaryLogisticRegressionSummary, LogisticRegression} 
val lr = new LogisticRegression() 
    .setMaxIter(100) 
    .setRegParam(0.3) 
val lrModel = lr.fit(trainData) 
val summary = lrModel.summary 
summary.predictions.select("probability").show() 
+0

這樣,測試數據在哪裏? –