python - 模型是否完全使用 .fit() 在 sklearn 和 tensorflow 中重新训练

标签 python tensorflow scikit-learn

我正在尝试在 Python 中使用机器学习。现在我正在使用 sklearn 和 TensorFlow。我想知道如果我有一个模型需要在新数据到来时更新,该怎么办。例如,我有财务数据。我用 TensorFlow 构建了一个 LSTM 模型并对其进行了训练。但是每天都有新的数据进来,我不想每天都重新训练模型。有没有办法只更新模型而不是从头开始重新训练它?

在 sklearn 中,.fit() 方法的文档(以 DecisionTreeClassifier 为例)说明了这一点

Build a decision tree classifier from the training set (X, y).

所以看起来它会从头开始重新训练整个模型。

在tensorflow中,.fit()方法(以Sequential为例)说

Trains the model for a fixed number of epochs (iterations on a dataset).

所以看起来它确实更新了模型而不是重新训练。但是我不确定我的理解是否正确。我会很感激一些澄清。如果 sklearn 确实使用 .fit() 重新训练了整个模型,是否有一个函数可以只更新模型而不是从头开始重新训练?

最佳答案

当你说更新而不是训练时。它只是使用新数据更新权重吗?

如果是这样,您可以采用两种迁移学习方法。

  1. Finetune:使用旧模型的权重初始化模型,并根据新数据对其进行重新训练。
  2. 添加一个新层:添加一个新层并仅更新该层中的权重,同时卡住网络中剩余的权重。

有关更多详细信息,请阅读 tansferlearning 上的 tensorflow 指南

关于python - 模型是否完全使用 .fit() 在 sklearn 和 tensorflow 中重新训练,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65334672/

相关文章:

tensorflow - 形状必须等于等级,但必须为2和1

python - 搜索估计器参数返回的结果不在网格中?

python - 在 sklearn.cross_validation 中使用 train_test_split 和 cross_val_score 的区别

python - 通过请求模块调用 View 不会创建正确的 session 数据

python - 无法在 Ubuntu 12.04 LTS 上正确安装或加载 Tensorflow,并导致 ImportError

python - 我如何提出一个问题,如果回答错误会给你另一次机会?

python - 为什么 Keras ImageDataGenerator 会抛出内存错误?

python - 使用sklearn在python中进行时空克里金法?

python - 使用 Objective-C 加密数据并在 Python 中解密

python - 正则表达式在Python中提取所有单词对及其分别后3个单词和前3个单词