机器学习算法中的网格搜索GridSearch实现(以k-近邻算法参数寻最优为例)
机器学习算法参数的网格搜索实现:
//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_)
具体的实现代码及其结果如下:

机器学习算法中的网格搜索GridSearch实现(以k-近邻算法参数寻最优为例)的更多相关文章
- 02机器学习实战之K近邻算法
第2章 k-近邻算法 KNN 概述 k-近邻(kNN, k-NearestNeighbor)算法是一种基本分类与回归方法,我们这里只讨论分类问题中的 k-近邻算法. 一句话总结:近朱者赤近墨者黑! k ...
- 分类算法----k近邻算法
K最近邻(k-Nearest Neighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一.该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的 ...
- 02-16 k近邻算法
目录 k近邻算法 一.k近邻算法学习目标 二.k近邻算法引入 三.k近邻算法详解 3.1 k近邻算法三要素 3.1.1 k值的选择 3.1.2 最近邻算法 3.1.3 距离度量的方式 3.1.4 分类 ...
- k近邻算法C++二维情况下的实现
k近邻算法C++二维实现 这是一个k近邻算法的二维实现(即K=2的情况). #include <cstdio> #include <cstring> #include < ...
- 机器学习:使用scikit-learn库中的网格搜索调参
一.scikit-learn库中的网格搜索调参 1)网格搜索的目的: 找到最佳分类器及其参数: 2)网格搜索的步骤: 得到原始数据 切分原始数据 创建/调用机器学习算法对象 调用并实例化scikit- ...
- GridSearchCV网格搜索得到最佳超参数, 在K近邻算法中的应用
最近在学习机器学习中的K近邻算法, KNeighborsClassifier 看似简单实则里面有很多的参数配置, 这些参数直接影响到预测的准确率. 很自然的问题就是如何找到最优参数配置? 这就需要用到 ...
- 【笔记】KNN之网格搜索与k近邻算法中更多超参数
网格搜索与k近邻算法中更多超参数 网格搜索与k近邻算法中更多超参数 网络搜索 前笔记中使用的for循环进行的网格搜索的方式,我们可以发现不同的超参数之间是存在一种依赖关系的,像是p这个超参数,只有在 ...
- 机器学习(1)——K近邻算法
KNN的函数写法 import numpy as np from math import sqrt from collections import Counter def KNN_classify(k ...
- [机器学习] k近邻算法
算是机器学习中最简单的算法了,顾名思义是看k个近邻的类别,测试点的类别判断为k近邻里某一类点最多的,少数服从多数,要点摘录: 1. 关键参数:k值 && 距离计算方式 &&am ...
随机推荐
- 十八、sun JPA理解及使用
1.JPA理解及实现: JPA(Java Persistence API)作为Java EE 5.0平台标准的ORM规范,将得到所有Java EE服务器的支持,是SUN在充分吸收现有ORM框架的 ...
- html js中的引号
content = "<a class='btn' href='javascript:void(0)' onclick='change('orders/orderTail.do?ode ...
- Ajax案例
展示页面jsp: <%@ page language="java" contentType="text/html; charset=utf-8" pa ...
- UITextField的快速基本使用代码块
概述 UITextField在界面中显示可编辑文本区域的对象. 您可以使用文本字段来使用屏幕键盘从用户收集基于文本的输入.键盘可以配置许多不同类型的输入,如纯文本,电子邮件,数字等等.文本字段使用目标 ...
- centos彻底卸载mysql(不保留数据)
1. rpm -qa | grep -i mysql 查找已经安装的mysql. MySQL-server-5.6.43-1.el6.x86_64 MySQL-client-5.6.43-1.el6. ...
- gitlab相关命令操作
[root@xuegod63 ~]# git config --global user.name "zsl3"[root@xuegod63 ~]# git config --glo ...
- .net使用rabbitmq安装操作
自己在windows安装rabbitmq时,遇到了很多坑,最恶心的就是版本不匹配的问题,所以自己写了一篇总结,本文章安装的Erlang为8.2,rabbitmq为3.5.6 1 安装rabbitmq, ...
- development tool
Eclipse : https://www.eclipse.org/downloads/ WebStorm: http://www.jetbrains.com/webstorm/do ...
- python学习 第一章(说不定会有第零章呢)one day
------------恢复内容开始------------ 一.啥是python python是吉尔·范罗苏姆于1989年开发的一个新的脚本解释程序,是ABC语言的一种继承. 二.python的特点 ...
- redis 高性能的原因
1. redis 数据存储在内存中: 2. redis 是单线程: 3. redis 多路复用: 指令先放到队列里 4.redis 使用resp 协议