引言:本文旨在利用Sklearn中的
ParameterGrid来实现一个自定义化的网格搜索(GridSearch)函数,应用场景的话是可以自定义评价指标、同时能够在固定的验证集而非默认使用K-fold进行最优模型保存。
问题概述
网格搜索(GridSearch)可以帮助我们确定最优的模型参数,但它的封装程度较高,难以进行自定义的评价指标设置;此外默认使用K-fold来选取最优参数也比较烦人。因此本文设计的自定义GridSearch流程实现了在固定的evaluation set进行最优模型的选取。
设计思路
设计流程和原始的GridSearch一致,主要是利用了Sklearn中原本就有的ParameterGrid来生成一系列的候选参数,循环创建对应的模型,在验证集上评估模型的效果并保存系列模型的得分,最终选取最优模型。代码如下:
def custom_GridSearch(params,model,train_feature,train_label,eval_feature,eval_label,criterion):
from sklearn.model_selection import ParameterGrid
candidatas=ParameterGrid(params)
result={
}
for i in range(candidatas.__len__

本文介绍了如何使用Sklearn的ParameterGrid实现一个自定义GridSearch函数,允许用户设置自己的评价指标,并在固定验证集上选择最优模型。示例展示了在SVM场景下的应用,但文章结论指出固定验证集可能引发过拟合,建议在数据处理上做好优化。
最低0.47元/天 解锁文章
5908

被折叠的 条评论
为什么被折叠?



