楼主: lanlanmei
1630 2

[问答] 《应用预测建模》Max Kuhn P300页代码运行问题 [推广有奖]

  • 0关注
  • 0粉丝

本科生

17%

还不是VIP/贵宾

-

威望
0
论坛币
17 个
通用积分
1.3500
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
243 点
帖子
16
精华
0
在线时间
134 小时
注册时间
2005-8-31
最后登录
2023-12-5

20论坛币
  1. ##我们写了两个封装函数##对于准确度、Kappa值、ROC曲线下面积、敏感度和特异度:fiveStats <- function(...) c(twoClassSummary(...),
  2.                              defaultSummary(...))
  3. ## 不包含ROC曲线下面积:
  4. fourStats <- function (data, lev = levels(data$obs), model = NULL)
  5. {
  6.      accKapp <- postResample(data[, "pred"], data[, "obs"])
  7.      out <- c(accKapp,
  8.               sensitivity(data[, "pred"], data[, "obs"], lev[1]),
  9.               specificity(data[, "pred"], data[, "obs"], lev[2]))
  10.      names(out)[3:4] <- c("Sens", "Spec")
  11.      out
  12. }
  13. ctrl <- trainControl(method = "cv",
  14.                      classProbs = TRUE,
  15.                      summaryFunction = fiveStats,
  16.                      verboseIter = TRUE)
  17. ctrlNoProb <- ctrl
  18. ctrlNoProb$summaryFunction <- fourStats
  19. ctrlNoProb$classProbs <- FALSE
  20. set.seed(1410)
  21. rfFit <- train(CARAVAN ~ ., data = trainingInd,
  22.                method = "rf",
  23.                trControl = ctrl,
  24.                ntree = 1500,
  25.                tuneLength = 5,
  26.                metric = "ROC")+ Fold01: mtry=  2
  27. - Fold01: mtry=  2
  28. + Fold01: mtry=  8
  29. - Fold01: mtry=  8
  30. + Fold01: mtry= 34
  31. - Fold01: mtry= 34
  32. + Fold01: mtry=145
  33. - Fold01: mtry=145
  34. + Fold01: mtry=606
  35. - Fold01: mtry=606
  36. + Fold02: mtry=  2
  37. - Fold02: mtry=  2
  38. + Fold02: mtry=  8
  39. - Fold02: mtry=  8
  40. + Fold02: mtry= 34
  41. - Fold02: mtry= 34
  42. + Fold02: mtry=145
  43. - Fold02: mtry=145
  44. + Fold02: mtry=606
  45. - Fold02: mtry=606
  46. + Fold03: mtry=  2
  47. - Fold03: mtry=  2
  48. + Fold03: mtry=  8
  49. - Fold03: mtry=  8
  50. + Fold03: mtry= 34
  51. - Fold03: mtry= 34
  52. + Fold03: mtry=145
  53. - Fold03: mtry=145
  54. + Fold03: mtry=606
  55. - Fold03: mtry=606
  56. + Fold04: mtry=  2
  57. - Fold04: mtry=  2
  58. + Fold04: mtry=  8
  59. - Fold04: mtry=  8
  60. + Fold04: mtry= 34
  61. - Fold04: mtry= 34
  62. + Fold04: mtry=145
  63. - Fold04: mtry=145
  64. + Fold04: mtry=606
  65. - Fold04: mtry=606
  66. + Fold05: mtry=  2
  67. - Fold05: mtry=  2
  68. + Fold05: mtry=  8
  69. - Fold05: mtry=  8
  70. + Fold05: mtry= 34
  71. - Fold05: mtry= 34
  72. + Fold05: mtry=145
  73. - Fold05: mtry=145
  74. + Fold05: mtry=606
  75. - Fold05: mtry=606
  76. + Fold06: mtry=  2
  77. - Fold06: mtry=  2
  78. + Fold06: mtry=  8
  79. - Fold06: mtry=  8
  80. + Fold06: mtry= 34
  81. - Fold06: mtry= 34
  82. + Fold06: mtry=145
  83. - Fold06: mtry=145
  84. + Fold06: mtry=606
  85. - Fold06: mtry=606
复制代码
前面还有数据处理的代码,没有一起放上来了,具体可以参考p300-p302页。输出rfFit的时候,运行一直处于一个循环的状态,请教各位这是什么原因?如何解决?

关键词:运行问题 max ROC曲线 Fives estat R语言 R语言处理过程 r语言程序问题 R语言程序请教 R语言学习经典书籍
沙发
hzcybyq 发表于 2018-6-11 14:36:40 |只看作者 |坛友微信交流群
你遇到下面的问题了吗?,
> rfFit <- train(CARAVAN~.,data = trainingInd,
+                method = 'rf',
+                trControl = ctrl,
+                ntree = 1500,
+                tuneLength =5,
+                metric = 'ROC')
Error: At least one of the class levels is not a valid R variable name; This will cause errors when class probabilities are generated because the variables names will be converted to  X2, X1 . Please use factor levels that can be used as valid R variable names  (see ?make.names for help).

使用道具

藤椅
幸运符 发表于 2018-6-14 10:22:53 |只看作者 |坛友微信交流群
谢谢分享

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-11-5 23:19