- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当使用 sklearn 的 cross_val_score
和 scoring='neg_mean_squared_error'
调整 AdaBoostRegressor 时,它会返回一个正数。我的所有其他算法(线性回归、svr、随机森林回归器等)都会返回负数。然后,我使用 np.mean(np.sqrt(-cross_val_score))
计算 RMSE 分数的平均值。
代码如下:
# AdaBoost Reg CV
start_time = time.time() # Timing
# Metrics
ada_reg_cv = AdaBoostRegressor(DecisionTreeRegressor(random_state=42),
n_estimators=200,
loss='linear', random_state=42)
ada_reg_cv_scores = cross_val_score(ada_reg_cv, X_train_trees, y_train,
scoring='neg_mean_squared_error',
cv=5)
ada_reg_cv_scores = np.sqrt(-ada_reg_cv_scores)
print('CV RMSE:', ada_reg_cv_scores.mean())
print('CV Std:', ada_reg_cv_scores.std())
# Timing
ada_reg_cv_time = (time.time() - start_time)
print('\nRunning Time: {}'.format(datetime.timedelta(seconds=ada_reg_cv_time)))
输出实际上是极高的 RMSE(太高而无法准确测量)。我分别运行这些行,发现第 11 行 ada_reg_cv_scores = np.sqrt(-ada_reg_cv_scores)
返回 nan,因为它取负数的根。
然后,当我在 sqrt 内没有 (-) 符号的情况下运行它时,我得到了正确的 RMSE。那么为什么“neg_mean_squared_error”值为正呢?
最佳答案
当我在 AdaBoostRegressor (max_depth=5
) 中调整 DecisionTreeRegressor 后,neg_mean_squared_error 返回负值,这是理所应当的。所以我猜测这个错误与决策树的不规范程度有关,因为树模型的错误可能是 0。
关于python - 为什么 AdaBoostRegressor 的 neg_mean_squared_error 为正数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57232012/
当使用 sklearn 的 cross_val_score 和 scoring='neg_mean_squared_error' 调整 AdaBoostRegressor 时,它会返回一个正数。我的所
这是我要运行的 python 代码。 from numpy import * import pylab as pl from sklearn.utils import shuffle from skl
我是一名优秀的程序员,十分优秀!