我为R中带有SVM的二进制分类任务运行了以下代码。
给出随机生成的数据double
和响应(X)
,此代码执行离开组交叉验证1000次。因此,(Y)
的每个条目都是CV迭代中预测的平均值。
由于Y
和X
是完全随机的,因此曲线下的计算面积应为〜0.5。但是,这不是我们看到的。曲线下的面积通常显着高于0.5。 Y
的行数很少,这显然会引起问题。
任何想法在这里会发生什么?我知道我可以增加X
的行数或减少列数来解决问题,但是我正在寻找其他问题。
X
答案 0 :(得分:1)
您应该将交叉验证的每个迭代视为一个独立的实验,在该实验中,您将使用训练集进行训练,使用测试集进行测试,然后计算模型技能得分(在这种情况下为AUC)。
因此,您实际应该做的是为每个CV迭代计算AUC。然后取AUC的平均值。