我对之间的区别有疑问 一个randomsearch.score方法(得分1)和randomsearch.best_score_属性(得分2)。
尤其是将randomsearch.score应用于X_train和y_train时。
我认为randomsearchCV会自动寻找训练集上得分最高的参数?我会假设randomsearch.score(Xtrain,ytrain)与randomsearch.best_params_分数相同吗?
from sklearn.model_selection import RandomizedSearchCV
def evaluate_model(model,param_grid,n_iter=100):
random_search = RandomizedSearchCV(model,cv=5,n_jobs=2,verbose=1,n_iter=n_iter)
random_search.fit(X_train,y_train)
print (random_search.score(X_train,y_train)) # Score 1
print (random_search.best_score_) # Score 2
print (random_search.score(X_test,y_test)) # Score 3
return random_search
rgr = GradientBoostingRegressor(n_estimators=50)
param_grid = {"max_depth": range(1,10,1)}
gradient_boosting = evaluate_model(rgr,param_grid)
相反返回
Score 1: 0.9585014239352219
Score 2: 0.7129331788310186
Score 3: 0.7530744077231204