Apache spark 火花管道评价
如何在spark管道中获得评估器的结果?Apache spark 火花管道评价,apache-spark,pipeline,metrics,evaluation,apache-spark-ml,Apache Spark,Pipeline,Metrics,Evaluation,Apache Spark Ml,如何在spark管道中获得评估器的结果? val evaluator = new BinaryClassificationEvaluator() val cv = new CrossValidator() .setEstimator(pipeline) .setEvaluator(evaluator) .setEstimatorParamMaps(paramGrid) .setNumFolds(10) 转换操作的结果仅包含标签、概率和预测 获得“最佳模型”是可能的,但我更希望
val evaluator = new BinaryClassificationEvaluator()
val cv = new CrossValidator()
.setEstimator(pipeline)
.setEvaluator(evaluator)
.setEstimatorParamMaps(paramGrid)
.setNumFolds(10)
转换操作的结果仅包含标签、概率和预测
获得“最佳模型”是可能的,但我更希望获得评估指标
这里展示了如何在没有管道的情况下使用计算器
所有有趣的链接似乎都没有使用计算器
,这里或官方示例中显示的是最终显示的评估结果
事实上,其中一个链接手动计算度量:
cvAccuracy = cvPrediction.filter(cvPrediction['label'] == cvPrediction['prediction']).count() / float(cvPrediction.count
我本来希望获得性能折叠级别的指标,或者可能是平均值/方差。
交叉验证模型
不仅包含跨折叠具有最高平均交叉验证指标的最佳模型(也称为最佳模型
),而且还包含评估的每个参数映射的指标
要获取这些信息,可以将getEstimatorParamMaps
方法与avgMetrics
结合使用,例如:
val cvModel = cv.fit(training)
cvModel.getEstimatorParamMaps.zip(cvModel.avgMetrics)
您对每个
paramGrid
值的性能指标感兴趣吗?有点。我想检查参数设置A或算法B是否比另一个设置/算法好。非常感谢-这正是我一直在寻找的。但无法获得有关方差/标准偏差的指标?