解读sklearns的GridSearchCV best

2024-04-26 22:09:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道由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))

Tags: fromimportnpvalsklearn分数bestscore