Python 在自定义scikit learn BaseSearchCV上传播cv结果和最佳参数

Python 在自定义scikit learn BaseSearchCV上传播cv结果和最佳参数,python,machine-learning,scikit-learn,gridsearchcv,Python,Machine Learning,Scikit Learn,Gridsearchcv,我正在尝试使用类BaseSearchCV构建一个定制的scikit学习搜索cv 自定义搜索在多次迭代或“生成”中进行连续过程,每次迭代都有一组参数,并使用self.cv\u results\u['mean\u test\u score']在下一次迭代中创建一组新参数 我实施了以下方法: def\u运行搜索(自我、评估候选人): 评估候选对象([self.current\u generation\u params]) 因此,顺序过程如下所示: 范围内i的(迭代次数): self.current_

我正在尝试使用类
BaseSearchCV
构建一个定制的scikit学习搜索cv

自定义搜索在多次迭代或“生成”中进行连续过程,每次迭代都有一组参数,并使用
self.cv\u results\u['mean\u test\u score']
在下一次迭代中创建一组新参数

我实施了以下方法:

def\u运行搜索(自我、评估候选人):
评估候选对象([self.current\u generation\u params])
因此,顺序过程如下所示:

范围内i的
(迭代次数):
self.current_generation_params=generate_params(当前_generation_params)
super().fit(X=X,y=y,groups=self.groups,**self.fit\u参数)
问题是,在迭代结束时,如果我打印
.cv\u results\u
.best\u params\u
,它将只包含上一次迭代的结果,并且基础估计器将仅使用该组参数进行重新调整,导致错误的
。最佳参数
,基本上导致搜索估计器的所有其他有利因素

我是否有办法让BaseSearchCV跟踪
.cv\u results\uuu
中的所有迭代,并根据所有迭代结果(而不仅仅是最后一个迭代结果)重新调整估计器

我简化了代码,但下面是

我还有一个问题,
BaseSearchCV
的冗长似乎避免了我打印类中的海关消息(如果verbose=0,或者如果verbose>0,则混合消息)

提前谢谢