【发布时间】:2016-07-10 23:03:12
【问题描述】:
我遇到了与 here 相同的问题,但解决方案对我不起作用。我不确定我做错了什么......
这是我的代码:
# ensure results are repeatable
set.seed(7)
# load the library
library(caret)
# load the dataset
dataset <- read.csv("C:\\Users\\asholmes\\Documents\\diabetes_r.csv", na.strings='.')
#convert to data frame
as.data.frame(dataset, stringsAsFactors=TRUE)
#create x and y
x <- dataset[, 1:15]
y <- dataset[, 16]
# prepare training scheme
control <- trainControl(method="repeatedcv", number=10, repeats=3)
# train the model
model <- train(x, y, data=dataset, method="lvq", preProcess="scale", trControl=control)
这是我的数据:
> str(dataset)
'data.frame': 2777 obs. of 16 variables:
$ A1c : num 5 8.5 5.5 5.9 5.1 6.2 6.4 5.7 4.8 5.4 ...
$ BP_CAT : Factor w/ 3 levels "Hypertension",..: 3 1 1 3 1 3 3 3 3 3 ...
$ BMI_CAT : Factor w/ 4 levels "Normal","Obese",..: 3 2 2 2 2 2 2 2 2 3 ...
$ Creatinine : num 0.8 0.8 0.7 0.7 0.6 1.2 0.6 1.4 1.1 0.6 ...
$ LDL : num 86 51 107 102 NA 79 82 79 150 NA ...
$ BUN : num 14 9 10 15 12 13 7 15 16 16 ...
$ Triglycerides: num 221 77 98 121 NA 324 151 88 97 841 ...
$ Age : num 55 57 24 55 38 51 44 35 25 48 ...
$ Gender : Factor w/ 2 levels "F","M": 1 1 1 1 1 2 1 1 1 1 ...
$ Claims : num 13 394 15 18 11 33 9 1 13 3 ...
$ Presc : num 47 227 85 58 29 190 0 2 6 6 ...
$ Months : Factor w/ 12 levels "1","2","3","4",..: 9 12 12 12 12 12 12 12 12 12 ...
$ Expenditure : num 2877 71859 7494 5196 2500 ...
$ Health.Plan : Factor w/ 20 levels "AFFMCD ","HFMCD",..: 9 6 2 2 2 2 4 2 2 2 ...
$ Flag : Factor w/ 12 levels "Asthma","CKD",..: 1 4 8 8 1 3 10 10 10 10 ...
$ Case.Status : Factor w/ 6 levels "Closed","Deferred",..: 6 4 4 4 1 4 6 4 4 4 ...
但是,当我运行最后一行代码时,我得到了错误:
Something is wrong; all the Accuracy metric values are missing:
Accuracy Kappa
Min. : NA Min. : NA
1st Qu.: NA 1st Qu.: NA
Median : NA Median : NA
Mean :NaN Mean :NaN
3rd Qu.: NA 3rd Qu.: NA
Max. : NA Max. : NA
NA's :9 NA's :9
Error in train.default(x, y, data = dataset, method = "lvq", preProcess = "scale", :
Stopping
In addition: There were 50 or more warnings (use warnings() to see the first 50)
任何人都可以提供的任何帮助都会非常有帮助。
【问题讨论】:
-
你的数据集中
x和y是什么? -
检查警告。他们倾向于给出一个想法。
-
@tcash21 它在代码部分。 x是前15个变量,y是第16个变量(Case.Status)
-
@phiver 警告看起来像这样:'> warnings() 警告消息:1:在 eval(expr, envir, enclos) : 模型拟合失败为 Fold01.Rep1: size=30, k = 1 lvq3 错误(x, y, lvqinit(x, y, size = param$size, k = min(param$k, : 未使用的参数 (data = list(A1c = c(5, 8.5, 5.5, 5.9, 5.1, 6.2, 6.4, 5.7, 4.8, 5.4, 6, 5.9, 7.3, 5.4, 6.2, 6.3, 10.2, 7, 8.5, 5.6, 6.2, 8.5, 12.7, 6, 6.1, [...截断]'