我正在尝试使用 GridSearchCV 为 KnearestClassifier 找到优化的 n_neighbors 值。我能够获得优化的参数,但是当我在分类器中输入这些参数时,结果与 GridSearchCVs 的最佳结果不匹配。
clf = KNeighborsClassifier(n_neighbors=15, weights='uniform')
clf.fit(features_train, labels_train)
print('Score using optimized parameters: {}'.format(clf.score(features_test, labels_test)))
params = {'n_neighbors':[1,10,15,20,25,30,35,40,45,50,60,70,80,90,100], 'weights':['uniform', 'distance']}
grid = GridSearchCV(clf, params, cv=10, )
grid.fit(features_train, labels_train)
print('Optimized Parameters:{}'.format(grid.best_params_))
print('Best Score from GridsearchCV parameters{}'.format(grid.best_score_))
输出:
使用优化参数得分:0.928
优化参数:{'n_neighbors': 15, 'weights': 'uniform'}
GridsearchCV 参数的最佳分数:0.962666666667