简体   繁体   English

从R caret包错误中训练函数: 所有精度指标值都丢失了”

[英]Train function from R caret package error: “Something is wrong; all the Accuracy metric values are missing”

I want to run a logreg regression. 我想运行logreg回归。 I obtain the following error after running my code on R: 在R上运行代码后,出现以下错误:

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, weights = w, ...) : Stopping
In addition: There were 19 warnings (use warnings() to see them)

Here is my code: 这是我的代码:

## Data
donner <- read.delim("http://web.as.uky.edu/statistics/users/pbreheny/760/data/donner.txt")
set.seed(1234)
library(caret)
donner$Age <- as.numeric(donner$Age)
donner$Status <- as.factor(donner$Status)  
donner$Sex <- as.numeric(donner$Sex) 
splitIndex <- createDataPartition(donner$Status, p = .80, list = FALSE, times = 1)
trainDF <- donner[splitIndex,]
testDF <- donner[-splitIndex,]
ctrl <- trainControl(method = "cv", number = 2)
logregmodel <- train(Status ~ ., data = donner, method = "logreg", trControl = ctrl)

EDIT 1: 编辑1:

I changed the status to binary (0 and 1) and I still have some errors. 我将状态更改为二进制(0和1),但仍然有一些错误。 Here is the new code: 这是新代码:

## Data
donner <- read.delim("http://web.as.uky.edu/statistics/users/pbreheny/760/data/donner.txt")
set.seed(1234)
library(caret)
donner$Age <- as.numeric(donner$Age)
donner$Status <- as.integer(donner$Status)-1  
donner$Sex <- as.numeric(donner$Sex)-1 
splitIndex <- createDataPartition(donner$Status, p = .80, list = FALSE, times = 1)
trainDF <- donner[splitIndex,]
testDF <- donner[-splitIndex,]
ctrl <- trainControl(method = "cv", number = 2)
donner$Status <- as.factor(donner$Status)
logregmodel <- train(Status ~ ., data = donner, method = "logreg", trControl = ctrl)

Just needed to fix your data. 只需修复您的数据即可。 Logic Regression -- which is what I'm assuming you want, since you called the logic regression ( logreg ) method and this entire question is aside from the point if you're wanting something else like logit model, which would never give you the error in the first place -- is for binary variables only and it doesn't understand that 1's and 2's can represent binary data. 逻辑回归-我假设您要的是逻辑回归,因为您调用了逻辑回归( logreg )方法,如果您想要的是Logit模型之类的东西,那整个问题就不重要了。首先是错误-仅适用于二进制变量, 并且不了解1和2可以表示二进制数据。 It wants literal 0's and 1's. 它需要字面0和1。

donner <- read.delim("http://web.as.uky.edu/statistics/users/pbreheny/760/data/donner.txt")
set.seed(1234)
library(caret)
donner$Age <- as.numeric(donner$Age)
donner$Status <- as.factor(donner$Status)  
donner$Sex <- as.numeric(donner$Sex) 
splitIndex <- createDataPartition(donner$Status, p = .80, list = FALSE, times = 1)
trainDF <- donner[splitIndex,]
testDF <- donner[-splitIndex,]
ctrl <- trainControl(method = "cv", number = 3)
donner$Status <- as.character(donner$Status)
donner$Status[!donner$Status == "Survived"] <- 0
donner$Status[donner$Status == "Survived"] <- 1
donner$Age_gr_mean <- 0
donner$Age_gr_mean[donner$Age_gr_mean > mean(donner$Age)] <- 1
donner$Age <- NULL
donner$Status <- as.numeric(donner$Status)
donner$Sex[donner$Sex == 2] <- 0
logregmodel <- train(Status ~ ., data = donner, method = "logreg", trControl = ctrl)

I've personnaly never used the "logreg" method. 我从来没有使用过“ logreg”方法。 It also seems that some lines are useless. 似乎有些行也没用。 Here is my suggestion using "glm" as a method. 这是我建议使用“ glm”作为方法。

## Data
donner <- read.delim("http://web.as.uky.edu/statistics/users/pbreheny/760/data/donner.txt")

set.seed(1234)
library(caret)

donner$Age <- as.numeric(donner$Age)
donner$Status <- as.factor(donner$Status)
donner$Sex <- as.numeric(donner$Sex)-1 

splitIndex <- createDataPartition(donner$Status, p = .80, list = FALSE, times = 1)
trainDF <- donner[splitIndex,]
testDF <- donner[-splitIndex,]

ctrl <- trainControl(method = "cv", number = 3)
logregmodel <- train(Status ~ ., data = trainDF, method = "glm", family='binomial', trControl = ctrl)

summary(logregmodel)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 R caret错误:出问题了; 所有精度指标值均缺失: - R caret Error: Something is wrong; all the Accuracy metric values are missing: “出事了; 缺少所有“精度”度量值。 - “Something is wrong; all the Accuracy metric values are missing” Error in Caret Training 在“ knn”方法中使用Caret软件包时出错-出了点问题; 所有精度指标值均丢失 - Error using Caret Package with “knn” method — Something is wrong; all the Accuracy metric values are missing 尝试使用 H2o package 时,插入符号训练方法会抱怨:“出了点问题; 缺少所有准确度指标值” - Caret train method complains when trying to use H2o package: “Something is wrong; all the Accuracy metric values are missing” 错误“出了问题; 所有RMSE指标值都缺失“使用Caret中的frbs包中的SBC - Error “Something is wrong; all the RMSE metric values are missing” using SBC from frbs package in Caret 有什么不对; 缺少所有 RMSE 指标值; 使用插入符训练功能 - Something is wrong; all the RMSE metric values are missing; using caret train function 脱字号-错误-出了点问题-缺少所有ROC指标值: - caret - error - Something is wrong - all the ROC metric values are missing: “出事了; 所有精度指标值均缺失:” - “Something is wrong; all the Accuracy metric values are missing:” “有些不对劲; 使用partykit、插入符号、食谱时,所有准确度指标值都丢失了 - “Something is wrong; all the Accuracy metric values are missing” while using partykit, caret, recipes 插入符号 - 随机森林不起作用:“出了点问题; 缺少所有准确度指标值:” - caret - random-forests not working: “Something is wrong; all the Accuracy metric values are missing:”
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM