スパークパイプラインで評価者の結果を取得するにはどうすればよいですか?スパークパイプライン評価
val evaluator = new BinaryClassificationEvaluator()
val cv = new CrossValidator()
.setEstimator(pipeline)
.setEvaluator(evaluator)
.setEstimatorParamMaps(paramGrid)
.setNumFolds(10)
変換操作の結果は、ラベル、確率、および予測が含まれています。
"ベストモデル"を取得することは可能ですが、評価メトリックを取得することに興味があります。
ここではhttps://jaceklaskowski.gitbooks.io/mastering-apache-spark/content/spark-mllib/spark-mllib-evaluators.htmlは、パイプラインなしでエバリュエーターを使用する方法を示しています。
非常に興味深いリンクのどれもevaluator
を使用していないようです。 https://benfradet.github.io/blog/2015/12/16/Exploring-spark.ml-with-the-Titanic-Kaggle-competition、ここではhttps://developer.ibm.com/spark/blog/2016/02/22/predictive-model-for-online-advertising-using-spark-machine-learning-pipelines/または公式の例ではhttps://github.com/apache/spark/blob/39e2bad6a866d27c3ca594d15e574a1da3ee84cc/examples/src/main/scala/org/apache/spark/examples/ml/ModelSelectionViaCrossValidationExample.scalaは、最後に表示された評価者の結果です。実際に
リンクの1つが手でメトリックを計算します。
cvAccuracy = cvPrediction.filter(cvPrediction['label'] == cvPrediction['prediction']).count()/float(cvPrediction.count
私はPERF倍レベルまたは多分平均/分散の指標を得ることが期待されるだろう。
あなたは 'paramGrid'値あたりの性能指標に興味がありますか? – mtoto
並べ替え私は、パラメータ設定AまたはアルゴリズムBが他の設定/アルゴリズムよりも優れているかどうかを確認したい。 –