Я пытаюсь вычислить метрики для задачи регрессии, и моя выигрышная оценка равна xgboost
.
Теперь проблема, которую я вижу, заключается в том, что способ вычисления explained_variance
в scikit-learn
отличается от метода Spark mllib
. В Spark, mllib
, explained_variance
вычисляется как:
explainedVariance = 1 - variance(y - y_hat) / variance(y)
С точки зрения sklearn, это верно:
R2 = 1 - [(Sum of Squared Residuals / n) / Variancey_actual]
Explained Variance Score = 1 - [Variance(Ypredicted - Yactual) / Variancey_actual]
, что более точно, чем Spark наклоняется. в направлении FVU и который следует использовать.
Может ли explained_variance
иметь значение больше 1?