sklearn 网格搜索与分组 K 折 cv 生成器

Posted

技术标签:

【中文标题】sklearn 网格搜索与分组 K 折 cv 生成器【英文标题】:sklearn grid search with grouped K fold cv generator 【发布时间】:2017-08-09 03:32:51 【问题描述】:

我正在尝试使用随机搜索和分组的 k 折交叉验证生成器对 sklearn 中的参数进行网格搜索。以下作品:

skf=StratifiedKFold(n_splits=5,shuffle=True,random_state=0)
rs=sklearn.model_selection.RandomizedSearchCV(clf,parameters,scoring='roc_auc',cv=skf,n_iter=10)
rs.fit(X,y)

这不是

gkf=GroupKFold(n_splits=5)
rs=sklearn.model_selection.RandomizedSearchCV(clf,parameters,scoring='roc_auc',cv=gkf,n_iter=10)
rs.fit(X,y)

#ValueError: The groups parameter should not be None

groups参数如何表示?

这个也没有

gkf=GroupKFold(n_splits=5)
fv = gkf.split(X, y, groups=groups)
rs=sklearn.model_selection.RandomizedSearchCV(clf,parameters,scoring='roc_auc',cv=gkf,n_iter=10)
rs.fit(X,y)

#TypeError: object of type 'generator' has no len()

【问题讨论】:

【参考方案1】:

作为参考,这是通过

完成的
rs.fit(X,y,groups=groups)

rs=sklearn.model_selection.RandomizedSearchCV(forest,parameters,scoring='roc_auc',cv=gkf,n_iter=10)

【讨论】:

以上是关于sklearn 网格搜索与分组 K 折 cv 生成器的主要内容,如果未能解决你的问题,请参考以下文章

sklearn:应用相同的缩放来训练和预测管道

cross_val_score 交叉验证与 K折交叉验证,嗯都是抄来的,自己作个参考

搜索估计器参数返回的结果不在网格中?

自定义 k-means 聚类 GridSearchCV

sklearn中的cross_val_score交叉验证

机器学习之交叉验证和网格搜索