1
evaluator = BinaryClassificationEvaluator()
grid = ParamGridBuilder().build() # no hyper parameter optimization
cv = CrossValidator(estimator=pipeline, estimatorParamMaps=grid, evaluator=evaluator)
cvModel = cv.fit(dataset)
evaluator.evaluate(cvModel.transform(dataset))
返回:爲什麼pyspark的BinaryClassificationEvaluator avgMetrics返回的值大於1?
cvModel.avgMetrics = [1.602872634746238]
evaluator.evaluate(cvModel.transform(dataset)) = 0.7267754950388204
問題:
- avgMetric怎麼能比1(1.6),如果它是ROC曲線下面積?
- 方案evaluateator.evaluate(cvModel.transform(dataset))實際上是否返回訓練度量而不是交叉驗證度量? (我們用
dataset
進行擬合和評估)
謝謝,你能迴應第二個子彈嗎?方案evaluateator.evaluate(cvModel.transform(dataset))實際上是否返回訓練度量而不是交叉驗證度量? (我們使用數據集進行擬合和評估) –
請參閱我的編輯。您不應該使用數據集進行火車/驗證。 – ShuaiYuan
* * same *數據集:) – ShuaiYuan