2016-06-22 13 views
2

spark(scala api)でxgboostを使用しています。Sparkのxgboostで無効な確率

val params = List("eta" -> "0.1", "max_depth" -> "2", 
        "silent" -> "1", "objective" -> "binary:logistic").toMap 
XGBoost.train(trainRDD, params, 10, 10) 

次に、2つのpredictのスコアリング機能が用意されています。 DMatrixをとり、ドライバー(ローカル)で動作し、RDD[Vector]を受け取り、分散モードで動作するもの。

同じテストデータセットの場合、これら2つの関数は異なる値を返します。ローカルで動作するものは、-1.23または1.34のような値を返しますが、もう一方は0.21または0.71を返します。 2番目のものは0と1の間の確率を返しますが、最初のものは他のものを返します。

誰かがこれについて詳しく説明できますか?

答えて

1

問題が見つかりました。局所的に出力マージン値を操作する関数predict。つまり、確率を得るために、これらの値にロジスティック変換を適用する必要があります。

関連する問題