掌握超参数搜索方法的使用。使用GridSearchCV采用K近邻算法,选择最优的K值。
时间: 2024-04-30 19:25:18 浏览: 43
好的,下面是一个使用GridSearchCV进行超参数搜索的示例:
首先,我们需要导入相关的库和数据:
```python
import numpy as np
from sklearn.datasets import load_iris
from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import GridSearchCV
# 加载数据
iris = load_iris()
X = iris.data
y = iris.target
```
然后,我们定义一个K近邻分类器,并指定待搜索的超参数范围:
```python
# 定义K近邻分类器
knn = KNeighborsClassifier()
# 设置待搜索的超参数范围
param_grid = {'n_neighbors': np.arange(1, 10)}
```
接着,我们使用GridSearchCV进行超参数搜索:
```python
# 使用GridSearchCV进行超参数搜索
grid_search = GridSearchCV(knn, param_grid, cv=5)
grid_search.fit(X, y)
# 输出最优的超参数和模型得分
print('Best parameters:', grid_search.best_params_)
print('Best score:', grid_search.best_score_)
```
这里,我们将K近邻分类器和待搜索的超参数范围传递给GridSearchCV,并指定交叉验证的折数为5。然后,我们使用fit方法进行训练和搜索。最后,我们输出最优的超参数和模型得分。
完整代码如下:
```python
import numpy as np
from sklearn.datasets import load_iris
from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import GridSearchCV
# 加载数据
iris = load_iris()
X = iris.data
y = iris.target
# 定义K近邻分类器
knn = KNeighborsClassifier()
# 设置待搜索的超参数范围
param_grid = {'n_neighbors': np.arange(1, 10)}
# 使用GridSearchCV进行超参数搜索
grid_search = GridSearchCV(knn, param_grid, cv=5)
grid_search.fit(X, y)
# 输出最优的超参数和模型得分
print('Best parameters:', grid_search.best_params_)
print('Best score:', grid_search.best_score_)
```
阅读全文