2

在对模型选择进行交叉验证时,我发现有很多方法可以引用交叉验证分数的“标准差”(这里的“分数”是指评估指标,例如准确度、AUC、损失等)

1) 一种方法是计算 K 折分数平均值的标准偏差(= K 折的标准偏差 / sqrt(K))。

2)第二种方法是只计算K折分数的标准差。可以在这里找到一个例子:

http://scikit-learn.org/stable/auto_examples/svm/plot_svm_anova.html

3)另一种我不完全理解的方式。它似乎计算了 K folds / sqrt(N) 的标准偏差,其中 N 是数据集的大小......

http://scikit-learn.org/stable/auto_examples/exercises/plot_cv_diabetes.html

我个人认为 1) 是正确的,因为我们更关心样本均值的标准误差(这里 = K 倍验证的平均分数)而不是样本的标准差。谁能解释首选哪种方式?

4

1 回答 1

0

在这些情况下没有太大的矛盾。

  1. K folds / sqrt(K) 的标准差是分数的标准差。
  2. 在提到的链接中,他们使用标准偏差而不是分数的标准误差。
  3. 在这个链接中,他们像 1) 一样计算标准误差,但他们使用变量名“n_folds”而不是“k”。在这种情况下,N (n_folds) 不是数据集的大小。

标准偏差是分数变化的度量(如果计算一个分数(对于 k 折之一))。标准误差是对 k 倍分数平均值变化的度量。

在寻找分数的“真实”值时,使用标准误差是这样的:

分数的真实值为

  • 在(平均值 - 标准误差)到(平均值 + 标准误差)范围内的概率约为 68%
  • 在 (mean - 2*standard error) 到 (mean + 2standard error) 范围内的概率约为 95%

(这些范围称为置信区间。)

于 2022-02-05T17:12:42.090 回答