拟合同一 scikit-learn 模型的多个实例

Fitting multiple instances of the same scikit-learn model

我正在尝试 运行 对我的数据集进行多项式逻辑回归。一旦我 运行 一个,我就试图将我刚刚 运行 的模型附加到一个列表中,这样我以后就可以访问特定的模型。 代码看起来像这样

models = []
for i in range(0, 10):
  model = sklearn.linear_model.LogisticRegression()
  model.fit(x,y)
  models.append(model)

其中 x 和 y 在每次 for 迭代中不同。问题是我在最终数组“models”的每个元素中得到的 coefficients/model 与 for 循环的最终迭代相同。我假设这是因为我只是在每次迭代中更新参考,而不是每次都创建一个新的逻辑回归模型。有人能告诉我更好的方法吗?

您可能对 clone function 感兴趣。

sklearn.base.clone(estimator, *, safe=True)[source]

Constructs a new unfitted estimator with the same parameters. Clone does a deep copy of the model in an estimator without actually copying attached data. It yields a new estimator with the same parameters that has not been fitted on any data.

from sklearn.base import clone

model = LogisticRegression()
new_model = clone(model)