knn算法网格搜索代码python
时间: 2023-09-21 11:11:24 浏览: 103
以下是一个使用k-近邻算法进行网格搜索的Python代码示例:
```python
from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import GridSearchCV
from sklearn.datasets import load_iris
# 加载鸢尾花数据集
iris = load_iris()
# 定义k-近邻分类器
knn = KNeighborsClassifier()
# 定义要搜索的参数范围
param_grid = {'n_neighbors': [3, 5, 7, 9], 'weights': ['uniform', 'distance']}
# 定义网格搜索器
grid_search = GridSearchCV(knn, param_grid, cv=5)
# 运行网格搜索
grid_search.fit(iris.data, iris.target)
# 输出最佳参数和评分
print("Best parameters: {}".format(grid_search.best_params_))
print("Best cross-validation score: {:.2f}".format(grid_search.best_score_))
```
在此示例中,我们使用sklearn库中的KNeighborsClassifier类来定义k-近邻分类器,并使用GridSearchCV类来进行网格搜索。我们使用鸢尾花数据集作为示例数据集,并定义要搜索的参数范围为k_neighbors和weights。使用cv参数将数据集分为5个折叠进行交叉验证。最后,我们输出找到的最佳参数和评分。
阅读全文