cross_validate 和 cross_val_score 有什么区别?

数据挖掘 机器学习 scikit-学习
2021-09-18 00:30:10

我明白cross_validate它是如何工作的,但现在我对实际做了什么感到困惑 cross_val_score谁能给我一些例子?

2个回答

cross_val_score 是估计器和数据集的辅助函数。

将用一个例子来解释它:

>>> from sklearn.model_selection import cross_val_score
>>> clf = svm.SVC(kernel='linear', C=1)
>>> scores = cross_val_score(clf, iris.data, iris.target, cv=5)
>>> scores                                              
array([ 0.96...,  1.  ...,  0.96...,  0.96...,  1.        ])

此示例演示如何通过拆分数据、拟合模型并连续计算 5 次得分(每次拆分不同)来估计 iris 数据集上的线性核支持向量机的准确度

cross_validate功能cross_val_score在两个方面有所不同 -

  1. 它允许指定多个评估指标。
  2. 除了测试分数之外,它还返回一个包含训练分数、拟合时间和分数时间的字典。

注意:当 cv 参数为整数时,默认cross_val_score使用KFoldStratifiedKFold策略,如果估计器派生自 ClassifierMixin,则使用后者

您可以通过此链接更好地理解

使用不同的例子cross_val_score,你可以了解它的不同实现。

  1. cross_val_score: 计​​算每个 CV 拆分的分数
  2. cross_validate: 计​​算每个 CV 拆分的一个或多个分数和时间