- 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/
所以我目前正在代码 war 中解决以下问题: 返回一个数组,其中第一个元素是正数的计数,第二个元素是负数的总和。如果输入数组为空或 null,则返回一个空数组。 我想出了下面的代码,它并不漂亮,但我知
我想禁用文本框中的字母,这就是我使用此表达式的原因: /^[0-9]*$/ 问题是我也想允许负数, 这个表达式不允许我使用减号。(-)..我该怎么办? 最佳答案 尝试使用以下正则表达式: /^-?[0
这是一道面试题。我们有一个正整数数组,我们必须重新排列和连接数组元素,以便生成的数字是可以使用此数组形成的最大数字。 例如: [884 88] -> 88884 [20 19 90] -> 90201
所以我有点无奈。我想我了解如何对 IEEE-754 数字进行加法,但我在减法方面遇到了很大的问题。我感觉我的想法是对的,但我想和大家确认一下。 因此我们有以下两个 IEEE-754 编号: x: 0
我想将一个正数转换成相应的数字列表——数字也应该是整数。 转换时,比如1024,应该返回[1,0,2,4] 最佳答案 在 Swift 4.1 或更高版本中 let number = 1024 let
如果 float 可以用来正确表示我将使用的参数范围,我正在尝试为我的音频应用程序弄清楚。 它需要的“最大”掩码用于频率参数,它是正的,并且允许最多两位数字作为尾数(即从 20.00 hz 到 220
我是一名优秀的程序员,十分优秀!