如何基于RandomizedSearchCV调优的超参数,在多训练集上重拟合模型
解决方法
你可以通过RandomizedSearchCV的best_estimator_属性获取已经配置好最优超参数的模型实例,直接用这个实例在新数据集上重新拟合即可,不会触发超参数调优,只会更新模型权重。
具体步骤:
提取最优模型
从训练完成的RandomizedSearchCV对象中,取出带有最优超参数的模型:best_model = model.best_estimator_这个
best_model是LogisticRegression的实例,已经设置好了随机搜索找到的最优C和penalty参数。在新数据集上重拟合
假设你的新数据集特征为new_X,标签为new_y,直接调用模型的fit方法:best_model.fit(new_X, new_y)此时模型会用固定的超参数重新训练,仅更新权重参数,不会再次进行超参数搜索。
可选:保留原最优模型
如果不想覆盖原模型在iris数据集上的拟合结果,可以先克隆一个模型实例再训练:
from sklearn.base import clone # 克隆带有最优超参数的模型 cloned_best_model = clone(best_model) # 在新数据上训练 cloned_best_model.fit(new_X, new_y)
内容的提问来源于stack exchange,提问作者DeltaIV
相关产品推荐
相关产品推荐

