gpt4 book ai didi

python - 解读 sklearns 的 GridSearchCV 最好成绩

转载 作者:行者123 更新时间:2023-11-28 22:18:49 26 4
gpt4 key购买 nike

我想知道 GridSearchCV 返回的分数与按如下方式计算的 R2 指标之间的差异。在其他情况下,我收到的网格搜索分数非常负(同样适用于 cross_val_score),我将不胜感激解释它是什么。

from sklearn import datasets
from sklearn.model_selection import (cross_val_score, GridSearchCV)
from sklearn.tree import DecisionTreeRegressor
from sklearn.metrics import accuracy_score, r2_score
from sklearn import tree

diabetes = datasets.load_diabetes()
X = diabetes.data[:150]
y = diabetes.target[:150]
X = pd.DataFrame(X)

parameters = {'splitter':('best','random'),
'max_depth':np.arange(1,10),
'min_samples_split':np.arange(2,10),
'min_samples_leaf':np.arange(1,5)}

regressor = GridSearchCV(DecisionTreeRegressor(), parameters, scoring = 'r2', cv = 5)
regressor.fit(X, y)

print('Best score: ', regressor.best_score_)
best = regressor.best_estimator_
print('R2: ', r2_score(y_pred = best.predict(X), y_true = y))

最佳答案

regressor.best_score_ 是最佳参数组合的遗漏测试折叠的 r2 分数的平均值。

在您的示例中,cv=5,因此数据将分为训练和测试折叠 5 次。该模型将安装在火车上并在测试中评分。这5个考试成绩取平均得到分数。请看documentation :

"best_score_: Mean cross-validated score of the best_estimator"

对所有参数组合重复上述过程。并将其中最好的平均分分配给 best_score_

可以看看at my other answer完成 GridSearchCV 的工作

找到最佳参数后,模型在完整数据上进行训练。

r2_score(y_pred = best.predict(X), y_true = y)

与训练模型的数据相同,因此在大多数情况下,它会更高。

关于python - 解读 sklearns 的 GridSearchCV 最好成绩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50232599/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com