首页 > 解决方案 > 使用 KNN 模型生成 ROC 曲线的问题 - 未定义的列

问题描述

如果这是初步的,我深表歉意,但是我已经浏览了跟踪簿并尝试使用谷歌搜索无济于事。每次我尝试运行代码以生成 ROC 曲线时,我都会不断返回

Error in `[.data.frame`(data, , class) : undefined columns selected

我检查了数据,它们是单列字符(根据需要)

library(cutpointr)
    Temp1 <- predict(KnnModel, newdata=TestData, type="prob")
    KnnProbs <- predict(object = KnnModel, newdata = TestData, type = "prob")
    KnnProbs <- as.character(KnnProbs$`0`)
    clch <- as.character(TrainData$loan_status)
    KnnROC <- roc(data = TestData$loan_status, x = KnnProbs, class = clch)
    plot(KnnROC, print.auc = T)

关于我做错了什么以及如何解决这个问题的任何想法

编辑: TrainData 如下

    'data.frame':   1500 obs. of  13 variables:
 $ loan_amnt          : num  6000 17625 8500 5000 10000 ...
 $ loan_status        : Factor w/ 2 levels "0","1": 1 2 1 1 1 1 1 1 1 1 ...
 $ int_rate           : num  13.33 15.61 6.68 6.92 14.98 ...
 $ term               : num  1 1 1 1 1 1 2 1 1 1 ...
 $ installment        : num  203 616 261 154 347 ...
 $ grade              : num  3 4 1 1 3 4 4 3 2 1 ...
 $ emp_length         : num  10 11 3 3 8 3 3 3 2 1 ...
 $ annual_inc         : num  30000 49000 53100 60000 37000 ...
 $ dti                : num  25.5 12.2 26.2 27.8 31.4 ...
 $ sub_grade          : num  13 16 3 4 13 16 18 12 8 4 ...
 $ verification_status: num  1 2 2 3 3 3 3 1 3 1 ...
 $ home_ownership     : Factor w/ 6 levels "ANY","MORTGAGE",..: 6 6 6 5 2 2 2 2 6 2 ...
 $ pymnt_plan         : Factor w/ 2 levels "n","y": 1 1 1 1 1 1 1 1 1 1 ...

标签: r

解决方案


推荐阅读