Используя GridSearchCV
best_score_
и помещая best_params_
из GridSearchCV
в cross_val_score
, я получил другой результат. И это происходит только в случае дерева решений и случайного леса. Хотя в случае «SVM», «KNN», «LR», результат тот же.
Вот код, который я использую:
def dtree_param_selection(X,y):
#create a dictionary of all values we want to test
param_grid = { 'criterion':['gini','entropy'],'max_features':["auto", "sqrt", "log2"],'max_depth': np.arange(2, 20)}
# decision tree model
dtree_model=DecisionTreeClassifier()
#use gridsearch to test all values
dtree_gscv = GridSearchCV(dtree_model, param_grid, cv=10)
#fit model to data
dtree_gscv.fit(X, y)
print(dtree_gscv.best_score_)
return dtree_gscv.best_params_
dtree_param_selection(good_feature,label)
cross_val_score
:
clf = DecisionTreeClassifier(dtree_gscv.best_params_)
acc = cross_val_score(clf,good_feature,label,cv=10)