2017-04-07 1 views
1

を推測する方法:あなたが見たよう</p> <p><a href="https://spark.apache.org/docs/latest/mllib-optimization.html" rel="nofollow noreferrer">https://spark.apache.org/docs/latest/mllib-optimization.html</a></p> <p>の下に以下のバイナリ分類予測のためのサンプルコードセグメントスパークドキュメントを読むスパークMLlibからの予測クラスラベル計算生スコア

val model = new LogisticRegressionModel(
    Vectors.dense(weightsWithIntercept.toArray.slice(0,weightsWithIntercept.size - 1)), 
    weightsWithIntercept(weightsWithIntercept.size - 1)) 

    // Clear the default threshold. 
    model.clearThreshold() 

    // Compute raw scores on the test set. 
    val scoreAndLabels = test.map { point => 
    val score = model.predict(point.features) 
    (score, point.label) 

をmodel.prediction(point.features)は、超平面分離までの距離のマージンである生のスコアを返します。

私の質問は:

(1)どのように予測クラスラベルは、上記の計算生のスコアに基づいて0または1であれば、私が知ることができますか?

または

(2)上記算出生スコアからこのバイナリ分類場合に予測されるクラスラベル(0または1)を推測する方法?

答えて

2

デフォルトでは、しきい値は0.5であるため、BinaryClassificationMetricsを使用すると、スコアが<の場合はクラスラベル0、それよりも高い場合は1になります。だから、同じことをしてクラスをスコアから推論することができます。

+0

アルゴリズムがROC曲線を計算するために決定する最適なしきい値を得るにはどうすればよいですか? – Tom

+0

メトリックオブジェクトでは、さまざまなメトリックのしきい値(たとえば、val f1Score = metrics.fMeasureByThreshold)を使用してスコアを取得できます。次に、ここで最高のしきい値の詳細を見つけるために反復することができます:https://spark.apache.org/docs/latest/mllib-evaluation-metrics.html –

関連する問題

 関連する問題