交叉验证网格搜索代码
时间: 2024-10-18 12:01:16 浏览: 4
交叉验证网格搜索通常用于scikit-learn库中,这里是一个简单的示例,展示如何使用GridSearchCV来优化K近邻算法(knn)的参数[^1]:
```python
from sklearn.model_selection import GridSearchCV, KNeighborsClassifier
from sklearn.datasets import load_iris
# 加载数据集
iris = load_iris()
X = iris.data
y = iris.target
# 定义要搜索的参数网格
param_grid = {
'n_neighbors': [3, 5, 7],
'weights': ['uniform', 'distance'],
'metric': ['euclidean', 'manhattan']
}
# 创建KNN分类器并设置交叉验证参数
knn = KNeighborsClassifier()
grid_search = GridSearchCV(knn, param_grid, cv=5, scoring='accuracy')
# 开始网格搜索
grid_search.fit(X, y)
# 获取最佳参数及其对应的准确率
best_params = grid_search.best_params_
best_score = grid_search.best_score_
print(f"Best parameters: {best_params}")
print(f"Best accuracy: {best_score}")
阅读全文