【问题标题】:Need a Simple explanation of warm_start v/s parial_fit with example需要一个简单的例子来解释warm_start v/s parial_fit
【发布时间】:2019-02-21 03:27:15
【问题描述】:

我在the sklearn docs上读到了这篇文章

在同一数据集上重复拟合估计器时,但对于 多个参数值(如求值最大化 性能如在网格搜索中),有可能重用 模型从之前的参数值中学习,节省时间。什么时候 warm_start 为真,使用现有的拟合模型属性 在随后的 fit 调用中初始化新模型。

注意,这只适用于部分机型和部分参数, 甚至一些参数值的顺序。例如,warm_start 可能 用于构建随机森林以向森林添加更多树木 (增加 n_estimators)但不要减少它们的数量。

partial_fit 也保留调用之间的模型,但不同的是:与 warm_start 参数改变并且数据是(或多或少) 不断调用以适应;使用 partial_fit,小批量数据 变化和模型参数保持不变。

在某些情况下,您希望使用 warm_start 来适应不同的情况, 但密切相关的数据。例如,一个人最初可能适合 数据的子集,然后对完整的参数搜索进行微调 数据集。对于分类,warm_start 序列中的所有数据 拟合调用必须包含每个类的样本。

我已经写了这段代码:

warm_start:

clf = LogisticRegression(warm_start = True)
clf.fit(X_train_increment_1, y_train_increment_1)
clf.fit(X_train_increment_2, y_train_increment_2)

准确度 = 75%

partial_fit:

clf = SGDClassifier()
clf.partial_fit(X_train_increment_1, y_train_increment_1)
clf.partial_fit(X_train_increment_2, y_train_increment_2)

准确度 = 74%

我想知道 sklearn 如何在内部使用warm_startpartial_fit,什么时候决定使用哪个?

【问题讨论】:

  • 你是如何计算准确率的?
  • 我通过 clf.score(X_test, y_test) 计算它。我使用相同的测试集来计算两个分类器的准确性

标签: python machine-learning scikit-learn


【解决方案1】:

warm_start=True 时,.fit() 函数将在进行partial_fit 之前在回归器中获取最优的coef_intercept_

【讨论】:

    猜你喜欢
    • 2012-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-31
    • 2022-07-06
    • 2017-02-06
    • 2011-09-03
    • 2023-03-25
    相关资源
    最近更新 更多