python - 我是给 cross_val_score() 整个数据集还是只提供训练集?

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

由于该类的文档不是很清楚。我不明白我赋予它什么值(value)。

cross_val_score(estimator, X, y=None)

这是我的代码:

clf = LinearSVC(random_state=seed, **params)
cvscore = cross_val_score(clf, features, labels)

我不确定这是否正确,或者我是否需要提供 X_train 和 y_train 而不是特征和标签。

谢谢

最佳答案

即使在使用 cross_val_score 时,将测试集和训练集分开始终是一个好主意。其背后的原因是知识泄露。这基本上意味着,当您同时使用训练集和测试集时,您会将测试集中的信息泄漏到模型中,从而使模型产生偏差,从而导致错误的预测。

这里有详细的blog post关于同一个问题。

引用文献:

关于python - 我是给 cross_val_score() 整个数据集还是只提供训练集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52249158/

相关文章:

python - 在嵌套列表中查找项目

python - 以 3D 张量时间序列作为输入的二元分类 Keras 神经网络模型

r - 使用连续变量的决策树

python - 与 SciPy kmeans 相比,使用 sklearn KMeans 是否有优势?

python - sklearn kNN(NearestNeighbors)是否进行批处理?

python - 从Python编写没有 Pandas 的 Parquet 文件

python - Sympy 级数求和的代数解

python - 对于负数与正数比率非常高的多标签分类,应使用哪些损失函数和指标?

machine-learning - K-NN : training MSE with K=1 not equal to 0

python - 如何从两个基类之一继承,决定运行时