我认为n_samples是训练示例的数量。但是当使用 GridSearchCV 时,n_samples 变为 32 而不是 50。
使用 GridSearchCV 时出错:
预期 n_neighbors <= n_samples,但 n_samples = 32,n_neighbors = 50
训练示例:
print(X_train.shape[0])=> 50
print(len(y_train))=> 50
这有效:
neigh = KNeighborsClassifier(n_neighbors=50)
neigh.fit(X_train, y_train)
result = neigh.predict(X_test)
这失败了:
from sklearn.model_selection import GridSearchCV
grid_params = {
"n_neighbors" : [50]
}
g = GridSearchCV(KNeighborsClassifier(), grid_params)
g.fit(X_train, y_train)
我很困惑为什么n_samples在使用 GridSearchCV 时会变成 32。