机器学习超参数调优与下注规模确定
超参数调优
动机
超参数调优是拟合机器学习算法的关键步骤。若调优不当,算法易过拟合,实际表现会令人失望。机器学习领域特别重视对调优后的超参数进行交叉验证。在金融领域,交叉验证是个难题,其他领域的方法可能并不适用。
网格搜索交叉验证
网格搜索交叉验证会根据用户定义的评分函数,对所有参数组合进行穷举搜索,以找到使交叉验证性能最大化的组合。当对数据的底层结构了解不多时,这是一种合理的初始方法。Scikit - learn 中的 GridSearchCV 函数实现了这一逻辑,为防止其对泄露信息过拟合,需传入 PurgedKFold 类。
def clfHyperFit(feat,lbl,t1,pipe_clf,param_grid,cv=3,bagging=[0,None,1.],
n_jobs=-1,pctEmbargo=0,**fit_params):
if set(lbl.values)=={0,1}:scoring='f1' # f1 for meta-labeling
else:scoring='neg_log_loss' # symmetric towards all cases
#1) hyperparameter search, on train data
inner_cv=PurgedKFold(n_splits=cv,t1=t1,pctEmbargo=pctEmbargo) # purged
gs=GridSearchCV(es
超级会员免费看
订阅专栏 解锁全文
24

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



