gpt4 book ai didi

python - 集成 10 倍模型

转载 作者:行者123 更新时间:2023-11-30 09:03:19 25 4
gpt4 key购买 nike

我可以整合 10 倍的预测并计算最终的准确性。

但是,当我按照以下代码保存模型时,它仅保存 1 倍的模型。有这样10个型号。

在机器学习的世界里,有没有像集成/组合/聚合 10 倍模型这样的东西?

我想用 10 个模型(从 10 倍获得)制作最终模型,以便用它来预测新数据。

可能吗?

ypred_all = np.ones((y.shape))
EnsembledModel = []
kfolds = KFold(n_splits=10)
for train, test in kf.split(x):
train_x = features[train]
train_y = labels[train]
test_x = features[test]
test_y = labels[test]
model = clf.fit(train_x, train_y)

dump(model, 'model.joblib')

EnsembledModel.append (model) ##???

ypred = model.predict(test_x)
ypred_all[test] = ypred


final_accuracy = accuracy_score(y, ypred_all)


final_model = ...EnsembledModel ##??

final_predict = final_model.predict(x_new)

最佳答案

常见误解:k-fold 只是验证模型,而不是验证其​​参数。

工作流程是:

  1. 数据集分为训练集和测试集。
  2. 开发适用算法的功能和理由
  3. 对于有希望的特征集和算法(OLS、SVM、NN 等)组合,请在训练集的子集上进行训练 - 这就是您使用 k 折叠的地方。使用平均性能作为该模型的衡量标准,即特征和算法的组合。通过此步骤,您将选择最佳模型(但不是参数)。
  4. 在整个训练集上训练所选模型。这将稍微改进模型,因为您有更多的数据。通过此步骤,您将获得模型参数。
  5. 评估测试集的最终性能。

注意:术语不同。有些人将测试集称为保留集,有些人将相同的术语用于交叉验证集。此外,对于一次性使用的一次性型号,您可能希望完全跳过步骤 1 和 5。

问题的答案是第 4 步:一旦找到最佳模型,就可以在整个训练集上进行训练。

UPD:在某些情况下,使用不同的模型可以更好地解决数据集的不同部分。在某些情况下,您甚至可以在数据集的不同分区上使用相同的模型,例如用一组线性函数逼近多项式。多个模型的组合将为您提供一个整体。然而,如果折叠是随机的,那就没有多大意义。

关于python - 集成 10 倍模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59178865/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com