首页 文章

如何更新Logistic回归模型?

提问于
浏览
1

我训练了一个逻辑回归模型 . 现在我必须用新的训练数据集更新(部分拟合)模型 . 可能吗 ?

1 回答

  • 5

    cannotLogisticRegression 上使用了 partial_fit .

    但是你可以:

    • 使用 warm_start=True ,它重用上一次调用的解决方案以适合初始化,以加速收敛 .

    • 使用 SGDClassifierloss='log' 相当于 LogisticRegression ,并且支持 partial_fit .

    注意 partial_fitwarm_start 之间的区别 . 两种方法都从之前的模型开始并更新它,但 partial_fit 仅略微更新模型,而 warm_start 一直在新训练数据上收敛,忘记了之前的模型 . warm_start 仅用于加速收敛 .

    另见the glossary

    warm_start在同一数据集上重复拟合估算器时,但对于多个参数值(例如在网格搜索中找到最大化性能的值),可以重用从前一个参数值中学习的模型的各个方面,从而节省时间 . 当warm_start为true时,现有的拟合模型属性a用于在后续的fit调用中初始化新模型 . 请注意,这仅适用于某些模型和某些参数,甚至适用于某些参数值的顺序 . 例如,在构建随机森林以向森林添加更多树(增加n_estimators)但不减少其数量时,可以使用warm_start . partial_fit也保留了调用之间的模型,但有所不同:使用warm_start,参数会发生变化,并且数据在(或多或少)调整之间保持不变;使用partial_fit,小批量数据更改和模型参数保持固定 . 在某些情况下,您希望使用warm_start来适应不同但密切相关的数据 . 例如,最初可以适合数据的子集,然后在完整数据集上微调参数搜索 . 对于分类,一系列warm_start调用中的所有数据必须包含来自每个类的样本 .

    __

    partial_fit便于以在线方式拟合估算器 . 与fit不同,重复调用partial_fit不会清除模型,而是根据提供的数据对其进行更新 . 提供给partial_fit的数据部分可以称为小批量 . 每个小批量必须具有一致的形状等.partial_fit也可以用于核外学习,尽管通常仅限于可以在线进行学习的情况,即模型在每个partial_fit之后可用且没有最终确定模型所需的单独处理 . cluster.Birch引入了这样的约定,即调用partial_fit(X)将生成一个未完成的模型,但是可以通过调用partial_fit()来确定模型,即不传递另一个小批量 . 通常,在调用partial_fit之间不应修改估计器参数,尽管partial_fit应验证它们以及新的小批量数据 . 相比之下,warm_start用于使用相同的数据重复拟合相同的估计器,但变化的参数 .

相关问题