【问题标题】:What is the proper way to use cross_val_score()使用 cross_val_score() 的正确方法是什么
【发布时间】:2021-06-18 17:00:03
【问题描述】:

考虑这样的函数调用:cross_val_score(model, X, y, cv)
在这个函数调用之前,我已经用DecisionTreeClassifier().fit()完成了一个模型的训练,我们称之为trained_model

我有这些问题:

  1. model: 我应该把什么传递给这个参数? DecisionTreeClassifier()DecisionTreeClassifier().fit()trained_model
    当我构建trained_model 时,我为分类器设置了random_statetrain_test_split()。我应该在cross_val_score() 中设置random_state 吗?
  2. X, y:这些参数应该传递什么? X_train, y_train 或只是X, y

目前我的cross_val_score() 电话是这样的:
scores_dtree_cv_kfold = cross_val_score(trained_model, X, y, cv=KFold(5)) 我不太确定自己在做什么。

任何人都可以判断我做得是否正确,我哪里错了,会发生什么?

【问题讨论】:

  • 欢迎来到 SO;在急于在这里开问题之前,请确保您已经先检查了相关的documentation

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


【解决方案1】:

交叉验证是一种测试(未拟合)模型及其参数的方法。
因此,该函数需要未拟合的模型,(例如,cross_val_score(DecisionTreeClassifier()))。

X, y 应该是整个数据,因为该函数会将它们分成 k 折叠。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-24
    • 2021-09-23
    • 2017-04-07
    • 2013-01-09
    • 2013-03-19
    • 2019-05-11
    • 2018-02-17
    • 2022-01-07
    相关资源
    最近更新 更多