博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Grid SearchCV(网格搜索)& Python实现
阅读量:2135 次
发布时间:2019-04-30

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

      GridSearchCV的作用能够自动调参(Parameter tuning),只要把参数输进去,就能给出最优化的结果和参数。但是这个方法适合于小数据集,一旦数据的量级上去了,很难得出结果。       

  

      GridSearchCV的名字其实可以拆分为两部分,GridSearch和CV,即网格搜索和交叉验证。这两个名字都非常好理解。网格搜索,搜索的是参数,即在指定的参数范围内,按步长依次调整参数,利用调整的参数训练学习器,从所有的参数中找到在验证集上精度最高的参数,这其实是一个训练和比较的过程。

  GridSearchCV可以保证在指定的参数范围内找到精度最高的参数,但是这也是网格搜索的缺陷所在,他要求遍历所有可能参数的组合,在面对大数据集和多参数的情况下,非常耗时。

 

import pandas as pdimport sklearn.tree as treefrom sklearn.model_selection import GridSearchCVfrom sklearn.model_selection import train_test_splitdf = pd.read_csv("diabetes_data_upload.csv")X = pd.get_dummies(df.drop(columns="class"))y = df["class"]X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)parameters = {'min_impurity_decrease': [0.05*i for i in range(3)],              'criterion': ["gini", "entropy"]}dtc = tree.DecisionTreeClassifier()gs_dtc = GridSearchCV(dtc, parameters, scoring="accuracy", cv=10)gs_dtc.fit(X_train, y_train)print(gs_dtc.cv_results_)best_index = gs_dtc.cv_results_['rank_test_score'].argmin()best_param = gs_dtc.cv_results_['params'][best_index]print(best_param)

 

 

 

 

转载地址:http://haygf.baihongyu.com/

你可能感兴趣的文章
计算机英语编程中一些单词
查看>>
JavaScript 经典例子
查看>>
判断数据的JS代码
查看>>
js按键事件说明
查看>>
AJAX 初次体验!推荐刚学看这个满好的!
查看>>
AJAX 设计制作 在公司弄的 非得要做出这个养的 真晕!
查看>>
Linux 查看文件大小
查看>>
Java并发编程:线程池的使用
查看>>
redis单机及其集群的搭建
查看>>
Java多线程学习
查看>>
检查Linux服务器性能
查看>>
Java 8新的时间日期库
查看>>
Chrome开发者工具
查看>>
【LEETCODE】111-Minimum Depth of Binary Tree
查看>>
【LEETCODE】235-Lowest Common Ancestor of a Binary Search Tree
查看>>
【LEETCODE】110-Balanced Binary Tree
查看>>
【LEETCODE】101-Symmetric Tree
查看>>
【LEETCODE】257-Binary Tree Paths
查看>>
【LEETCODE】102-Binary Tree Level Order Traversal
查看>>
【LEETCODE】107-Binary Tree Level Order Traversal II
查看>>