Ashley A Holmes
Ashley A Holmes

Reputation: 69

"Something is wrong; all the Accuracy metric values are missing" Error in Caret Training

I'm having the same issue as here, but the solutions are not working for me. I'm not sure what I'm doing wrong...

Here is my code:

# 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)

And here's my data:

> 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 ...

However, when I run the last line of code, I'm getting the error:

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)

Any help that anyone can provide would be extremely helpful.

Upvotes: 1

Views: 11691

Answers (1)

phiver
phiver

Reputation: 23598

You are using the default notation (x and y) and not the formula notation (Y ~ .). No need to specify data = argument. Change it to:

model <- train(x, y, method="lvq", preProcess="scale", trControl=control)

That should do the trick.

Upvotes: 3

Related Questions