3.5.1 网格搜索
网格搜索(Grid Search)是一种系统化的超参数调优方法,通过遍历预定义的超参数组合,找到使模型性能最优的参数配置。通过自动化调参避免手动试错,提高效率。
网格搜索通常嵌套交叉验证,与交叉验证结合以提高调参的可靠性:
- 外层循环:遍历参数网格中的每个参数组合。
- 内层循环:对每个参数组合使用交叉验证评估模型性能。
3.5.2 对心脏病预测模型进行超参数调优
对模型训练与评估部分进行修改,使用sklearn.model_selection.GridSearchCV进行交叉验证和网格搜索:
from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import GridSearchCV
knn = KNeighborsClassifier()
# 网格搜索参数,K值设置为1到10
param_grid = {"n_neighbors": list(range(1, 10))}
# GridSearchCV(estimator=模型, param_grid=网格搜索参数, cv=k折交叉验证)
knn = GridSearchCV(estimator=knn, param_grid=param_grid, cv=10)
# 模型训练
knn.fit(x_train, y_train)
print(pd.DataFrame(knn.cv_results_)) # 所有交叉验证结果
print(knn.best_estimator_) # 最佳模型
print(knn.best_score_) # 最佳得分
# 使用最佳模型进行评估
knn = knn.best_estimator_
print(knn.score(x_test, y_test))
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END

















请登录后查看评论内容