使用分层 K 折叠时如何部署模型?

数据挖掘 Python 预测建模 数据科学模型
2022-03-03 14:49:44

我使用 Stratified K fold 来学习模型。下面是python代码:

>def stratified_cv_v1(X, y, clf, shuffle=True, n=10,):
>    stratified_k_fold = StratifiedKFold(n_splits=n,shuffle=shuffle)
>    y_pred_v1 = y.copy()
>    for ii, jj in stratified_k_fold.split(X,y): 
>        X_train, X_test = X[ii], X[jj]
>        y_train = y[ii]
>        clf_v2 = clf()
>        clf_v2.fit(X_train,y_train)
>        y_pred[jj] = clf.predict(X_test)
>    return y_pred_v1


>print(classification_report(y, stratified_cv_v1(X, y, GradientBoostingClassifier)))

现在如何使用该模型在需要预测的新数据集上进行部署?

1个回答

k-fold CV 用于评估模型。一旦评估完成并准备好进行部署,使用 CV 就没有意义了:该方法已经过测试和验证,因此可以合理地假设从现在开始将相同的方法应用于相同类型的数据将导致达到相同的性能水平。因此通常的过程是:

  1. 在完整数据集上训练最终模型(无 CV,无测试)
  2. 将模型应用于新实例