Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用CV获得更高RMSE分数传达了什么信息_Python_Machine Learning_Scikit Learn - Fatal编程技术网

Python 使用CV获得更高RMSE分数传达了什么信息

Python 使用CV获得更高RMSE分数传达了什么信息,python,machine-learning,scikit-learn,Python,Machine Learning,Scikit Learn,我在梯度推进回归器上使用了交叉验证 我已经在交叉验证期间计算了每个分数的RMSE,并找到了平均值,但是它似乎与RMSE相差太远,无法使用训练测试分割和比较(预测,实际) 从我的理解来看,使用train_test_split不能过度拟合,因为我没有在测试集上测试参数的不同组合 这种差异代表什么 这是我的密码: X_train, X_test, y_train, y_test = train_test_split(X,y,test_size=0.3, random_state=0) gbr_le

我在梯度推进回归器上使用了交叉验证

我已经在交叉验证期间计算了每个分数的RMSE,并找到了平均值,但是它似乎与RMSE相差太远,无法使用训练测试分割和比较(预测,实际)

从我的理解来看,使用train_test_split不能过度拟合,因为我没有在测试集上测试参数的不同组合

这种差异代表什么

这是我的密码:

X_train, X_test, y_train, y_test = train_test_split(X,y,test_size=0.3, random_state=0)

gbr_le = GradientBoostingRegressor(
    n_estimators  = 1000,
    learning_rate = 0.1,
    random_state  = 0
)

model = gbr_le.fit(X_train, y_train)
y_pred = model.predict(X_test)
print(f'{np.sqrt(metrics.mean_squared_error(y_test, y_pred))}')

>>> 4.881378370139346
并使用CV:

scores = cross_val_score(gbr_le, X, y, cv=7, scoring='neg_mean_squared_error')

statistics.mean([np.sqrt(-sc) for sc in scores])

>>> 9.381100515895412

您需要检查交叉验证分数的标准偏差。可能的情况是,平均值为9.3,标准偏差相当高。在这种情况下,您的简历结果传达了数据错误率的真实性,但您的测试数据偶然导致了如此低的错误分数。尝试更改随机状态,看看您的错误率是否仍在4左右,或者是否会发生变化,并且与交叉验证分数的分布类似

您需要检查交叉验证分数的标准偏差。可能的情况是,平均值为9.3,标准偏差相当高。在这种情况下,您的简历结果传达了数据错误率的真实性,但您的测试数据偶然导致了如此低的错误分数。尝试更改随机状态,看看您的错误率是否仍在4左右,或者是否会发生变化,并且与交叉验证分数的分布类似

这种差异代表什么

这表明你是一个幸运的列车/测试分流者。似乎你选择了一个非常适合训练和测试的分割

在这种情况下,我会信任您的
cross_val_分数
,并尝试进行更多拆分和调整
gbr_le
,以获得更好的结果

为了了解数据的流动性,我们需要知道@BICube已经说过,您的数据分布有多大。目标变量的值是什么?什么是
平均值(y)
,其偏差如何

这种差异代表什么

这表明你是一个幸运的列车/测试分流者。似乎你选择了一个非常适合训练和测试的分割

在这种情况下,我会信任您的
cross_val_分数
,并尝试进行更多拆分和调整
gbr_le
,以获得更好的结果

为了了解数据的流动性,我们需要知道@BICube已经说过,您的数据分布有多大。目标变量的值是什么?什么是
平均值(y)
,其偏差如何