Python 参数(n_邻居)的参数值需要是一个序列

Python 参数(n_邻居)的参数值需要是一个序列,python,python-3.x,Python,Python 3.x,我正在尝试使用Skleaner模块。然而,我的代码如下 n_range = {'n_neighbors': range(1,100)} knn_search = GridSearchCV(estimator = KNeighborsClassifier(), param_grid=n_range, scoring='f1_micro') knn_search.fit(features_vector, train_labels) 结果错误: 参数(n_邻居)的参数值需要是一个序列 我做错了什么?

我正在尝试使用Skleaner模块。然而,我的代码如下

n_range = {'n_neighbors': range(1,100)}
knn_search = GridSearchCV(estimator = KNeighborsClassifier(), param_grid=n_range, scoring='f1_micro')
knn_search.fit(features_vector, train_labels)
结果错误:

参数(n_邻居)的参数值需要是一个序列


我做错了什么?

在Python3.x中,函数
range
返回一个
range
对象(不是序列),而不是列表。您必须自己将其转换为列表:

n_range = {'n_neighbors': list(range(1,100))}