【问题标题】:how use cross_val_score to predict in machine learning如何在机器学习中使用 cross_val_score 进行预测
【发布时间】:2020-02-09 01:14:11
【问题描述】:

在我的课程中,我学习了如何使用交叉验证来提高模型的准确性,训练中的一切看起来都很漂亮。但是当我去练习训练时,我发现我无法使用经过交叉验证训练的模型,请按照我的代码:

X = array[:,0:8]
Y = array[:,8]


num_folds = 10
seed = 7


kfold = KFold(num_folds, True, random_state = seed)


modelo = LogisticRegression()


resultado = cross_val_score(modelo, X, Y, cv = kfold)


print("Acurácia: %.3f" % (resultado.mean() * 100))

在这个交叉验证逻辑中,我如何使用在我的测试数据中训练的模型?

我正在尝试类似modelo.predict(X_test) 但没有成功

谁能帮帮我?

【问题讨论】:

  • 您无法使用cross_val_score 进行预测,因为要进行预测,您需要先适应。您可能会考虑sklearn.model_selection.GridSearchCV,它将通过 CV 学习最佳参数并返回拟合模型。

标签: python machine-learning scikit-learn cross-validation


【解决方案1】:

您需要先使模型适应数据,然后才能使用.predict 函数。我相信你正在使用 scikit learn,所以:

clf = LogisticRegression()
clf = clf.fit(X, y)
clf.predict(X[:2, :])

来自scikit documentation here.

【讨论】:

  • 这是用于没有交叉验证的训练
猜你喜欢
  • 2012-11-16
  • 2012-05-30
  • 1970-01-01
  • 2017-05-03
  • 2020-10-07
  • 1970-01-01
  • 2017-06-05
  • 2021-05-08
  • 1970-01-01
相关资源
最近更新 更多