如何解释 cv.kknn 的交叉验证输出(kknn 包)

How to interpret cross validation output from cv.kknn (kknn package)

我正在尝试解释我在尝试交叉验证 k 最近邻模型的数据时得到的结果。我的数据集是这样设置的

变量1(整数)|变量 2(整数) |变量 3(整数) |变量 4(整数) |响应(因子)

一旦我选择了我的模型,我将我的数据 80% 分成 cvdata 和 20% 用于测试。

我的代码的单个迭代如下:

    cv <- cv.kknn(formula = Response~., cvdata, kcv = 10, k = 7, kernel = 'optimal', scale = TRUE)
    cv

当我 运行 'cv' 它只是 returns 一个 list() 包含一些看似随机的数字作为行名,观察到的结果变量 (y) 和预测的结果变量 (yhat ).我正在尝试计算测试集的某种准确性。我应该比较 y 和 yhat 来验证吗?

编辑:在下面添加了输出

    [[1]]
         y        yhat
    492 1 0.724282776
    654 0 0.250394372
    427 0 0.125159894
    283 0 0.098561768
    218 1 0.409990851

    [[2]]
     [1] 0.2267058 0.1060212

[[2]]中的第一个元素是平均绝对误差,第二个是均方误差。 假设 df 是您的数据框,那么可以通过 mean(abs(df$y - df$yhat)) 和 mean((df$y - df$yhat)^2).

轻松测试这些值