TLDR:
我的数据集很小(120个)样本。在进行10倍交叉验证时,我应该:
收集每个测试折叠的输出,将它们连接成一个向量,然后在这个完整的预测向量(120个样本)上计算误差?
或者我应该代替计算上的输出我得到的错误的一个折(每个折痕12个样本),然后让我最终误差估计为平均10点的误差估计?
是否有任何科学论文争论这些技术之间的差异?
背景:多标签分类中与宏观/微观得分的潜在关系:
我认为这个问题可能与micro和Macro之间的差异有关经常在多标签分类任务(例如说5个标签)中使用的平均值平均值。
在多标签设置时,微平均得分是通过使计算的聚集对120个样本的所有5个分类器预测真阳性,假阳性,真阴性,假阴性权变表,。然后,该列联表用于计算微观精度,微观召回率和微观f测度。因此,当我们有120个样本和5个分类器时,将根据600个预测(120个样本* 5个标签)计算出微观指标。
使用Macro变体时,每个标签独立计算度量(精度,召回率等),最后将这些度量平均。
微观估算与宏观估算之间的差异背后的思想可能会扩展到二进制分类问题中以K倍设置可以完成的工作。对于10倍,我们可以对10个值进行平均(宏观测量),也可以将10个实验连接起来并计算微观措施。
背景-扩展示例:
以下示例说明了该问题。假设我们有12个测试样本,并且有10折:
- 折1:TP = 4,FP = 0,TN = 8 精度 = 1.0
- 折2:TP = 4,FP = 0,TN = 8 精度 = 1.0
- 折3:TP = 4,FP = 0,TN = 8 精度 = 1.0
- 折4:TP = 0,FP = 12, 精度 = 0
- 折5 .. 折10:都具有相同的TP = 0,FP = 12和Precision = 0
我在其中使用以下表示法:
TP =正误数, FP =错误误数, TN =正负数
结果是:
- 10折的平均精度= 3/10 = 0.3
- 10折预测的串联精度= TP / TP + FP = 12/12 + 84 = 0.125
请注意,值0.3和0.125有很大差异!