博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
机器学习算法中的网格搜索GridSearch实现(以k-近邻算法参数寻最优为例)
阅读量:4550 次
发布时间:2019-06-08

本文共 1002 字,大约阅读时间需要 3 分钟。

机器学习算法参数的网格搜索实现:

//2019.08.03

1、scikitlearn库中调用网格搜索的方法为:Grid search,它的搜索方式比较统一简单,其对于算法批判的标准比较复杂,是一种复合交叉批判方式,不仅仅是准确率。其具体的实现方式如下(以KNN算法的三大常用超参数为例):
#使用scikitlearn中的gridsearch来进行机器学习算法的超参数的最佳网格搜索方式
#1-1首先使用字典的方式对KNN算法中的不同超参数组合进行定义
param_grid=[{
"weights":["uniform"],
"n_neighbors":[i for i in range(1,11)]
},
{"weights":["distance"],
"n_neighbors":[i for i in range(1,11)],
"p":[i for i in range(1,6)]
}
] #首先定义机器学习算法的不同超参数组合,使用字典的方式,二对于具体的超参数采用列表的数据结构
#1-2其次定义一个所需要调参的机器学习算法
knn_clf=KNeighborsClassifier()
#1-3导入scikitlearn中的网格搜索函数GridSearchCV,并且定义相应网格搜索方式(输入初始化参数:1机器学习算法、2超参数组合列表、3n_jobs(选择并行内核数目,-1表示全部是用),4verbose=2表示输出相应搜索过程)
from sklearn.model_selection import GridSearchCV
grid_search=GridSearchCV(knn_clf,param_grid,n_jobs=-1,verbose=2)
#1-4使用训练数据集进行网格搜索过程
grid_search.fit(x_train,y_train)
#1-5输出相应胡玩网格搜索最佳参数组合结果和最佳参数组合时的准确率
print(grid_search.best_estimator_)
print(grid_search.best_params_)
print(grid_search.best_score_)

具体的实现代码及其结果如下:

转载于:https://www.cnblogs.com/Yanjy-OnlyOne/p/11294852.html

你可能感兴趣的文章
unity3d Start执行不同时问题
查看>>
session
查看>>
JS只能输入数字
查看>>
Laravel 数据库连接, 数据库名,配置文件修改
查看>>
屌丝接盘侠们,孩子可能不是你们亲生的!
查看>>
BZOJ 1854 【SCOI2010】 游戏
查看>>
JavaScript - 匿名函数和闭包
查看>>
负载均衡下的资源文件配置/多站点下的资源文件夹共享(Windows IIS)
查看>>
MySQL firstmatch strategy
查看>>
MS SQL server 2014 创建用户及权限
查看>>
office很抱歉遇到一些临时服务器问题
查看>>
禁止键盘上的刷新键F5等
查看>>
SAP中对于获取订单的状态
查看>>
oracle PL/SQL块
查看>>
CentOS7集群环境Elastic配置
查看>>
【EXCEL】指定の項目の内容一覧を表示
查看>>
Head first java chapter 4 对象的行为
查看>>
luogu_4503【题解】企鹅QQ 哈希
查看>>
linux 面试
查看>>
Linux:Gentoo系统的安装笔记(三)
查看>>