scikit-learn - 如何修复Python中的 'name ' cross_validation'未定义'错误

标签 scikit-learn cross-validation xgbclassifier

我正在尝试运行 XGBClassifier 参数调整,并在这行代码之后收到“'name 'cross_validation' is not Defined”错误:

  kfold_5 =  cross_validation.KFold(n = len(X), shuffle = True, n_folds = numFolds)

也许我没有导入适当的库?

最佳答案

首先,获取您的版本:

import sklearn
sklearn.__version__

在 scikit-learn 0.17 版本之后,cross_validation.KFold 已迁移到 model_selection.KFold

如果您有 0.17 版本,请使用此:

from sklearn.cross_validation import KFold

kfold_5 = KFold(n= len(X), n_folds = numFolds, shuffle=True)

如果您的版本高于 0.17,请使用此:

from sklearn.model_selection import KFold

kfold_5 = KFold(n_splits = numFolds, shuffle=True)

Documentation for 0.21 version is here

关于scikit-learn - 如何修复Python中的 'name ' cross_validation'未定义'错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57233719/

相关文章:

python - 如何使用策略 'mean' 拟合缺失值?

python - Scikit 随机森林分类器未评估为真

python - 如何使用cross_val_score()保留kfold的评估分数

python - 当重复次数少于 n 次时从 numpy 数组中删除行

r - R : using tsCV() with tslm()-Models 中的时间序列交叉验证

python - 解释 XGBoost 树的叶值以解决多类分类问题

python - H2O-3 Flow(UI) 和 XGBoost

python-3.x - 导入错误:无法从 'XGBClassifier'(未知位置)导入名称 'xgboost'

python - 在 Pandas 数据框列的子集上使用 Pipeline 中的 scikit StandardScaler

python - sklearn KMeans 中 KMeans.cluster_centers_ 的值