GridSearchCV参数

GridSearchCV
1.导入模块

from sklearn.model_selection import GridSearchCV

2.函数原型

class sklearn.model_selection.GridSearchCV(
	estimator, param_grid, scoring=None, 
	fit_params=None, n_jobs=1, iid=True,
 	refit=True, cv=None, verbose=0,
 	pre_dispatch='2*n_jobs', error_score='raise', return_train_score=True)

其中cv可以是整数或者交叉验证生成器或一个可迭代器,cv参数对应的输入列举如下:
None:默认参数,函数会使用默认的3折交叉验证
整数k:k折交叉验证。对于分类任务,使用StratifiedKFold(类别平衡,每类的训练集占比一样多,具体可以查看官方文档)。对于其他任务,使用KFold
3.参数
estimator:所使用的分类器,或者pipeline

estimator=RandomForestClassifier(min_samples_split=100,min_samples_leaf=20,
                           max_depth=8,max_features='sqrt',random_state=10),

param_grid:值为字典或者列表,即需要最优化的参数的取值

param_test1= {'n_estimators':range(10,71,10)}。
param_grid =param_test1

scoring:准确度评价标准,默认None,这时需要使用score函数;或者如 scoring=‘roc_auc’,根据所选模型不同,评价准则不同。字符串(函数名),或是可调用对象,需要其函数签名形如:scorer(estimator, X, y);如果是None,则使用estimator的误差估计函数。

n_jobs:并行数,int:个数,-1:跟CPU核数一致, 1:默认值。
pre_dispatch:指定总共分发的并行任务数。当n_jobs大于1时,数据将在每个运行点进行复制,这可能导致OOM,而设置pre_dispatch参数,则可以预先划分总共的job数量,使数据最多被复制pre_dispatch次
iid:默认True,为True时,默认为各个样本fold概率分布一致,误差估计为所有样本之和,而非各个fold的平均。
refit:默认为True,程序将会以交叉验证训练集得到的最佳参数,重新对所有可用的训练集与开发集进行,作为最终用于性能评估的最佳模型参数。即在搜索参数结束后,用最佳参数结果再次fit一遍全部数据集。
verbose:日志冗长度,int:冗长度,0:不输出训练过程,1:偶尔输出,>1:对每个子模型都输出。
4.属性
best_estimator_:效果最好的分类器

best_score_:成员提供优化过程期间观察到的最好的评分

best_params_:描述了已取得最佳结果的参数的组合

best_index_:对应于最佳候选参数设置的索引(cv_results_数组的索引)。

5.方法

decision_function:使用找到的参数最好的分类器调用decision_function。

fit(X, y=None, groups=None, **fit_params):训练

get_params(deep=True):获取这个估计器的参数。

predict(X):用找到的最佳参数调用预估器。(直接预测每个样本属于哪一个类别)

predict_log_proda(X):用找到的最佳参数调用预估器。(得到每个测试集样本在每一个类别的得分取log情况)

predict_proba(X):用找到的最佳参数调用预估器。(得到每个测试集样本在每一个类别的得分情况)

score(X, y=None):返回给定数据上的得分,如果预估器已经选出最优的分类器。

transform(X):调用最优分类器进行对X的转换。

你可能感兴趣的:(GridSearchCV参数)