微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

出了点问题;所有精度指标值均丢失; IRIS数据集,KNN

如何解决出了点问题;所有精度指标值均丢失; IRIS数据集,KNN

iris_data$Species = as.factor(iris_data$Species)
set.seed(1245)
iris_data_indices <- createDataPartition(y = iris_data$Species,p = 0.8,list = FALSE,times = 1)
test_iris_set <- iris_data[-iris_data_indices,]
training_iris_set <- iris_data[iris_data_indices,]
levels(training_iris_set$Species) <- make.names(levels(factor(training_iris_set$Species)))
levels(test_iris_set$Species) <- make.names(levels(factor(test_iris_set$Species)))

training_control_iris <- trainControl(method = "cv",number = 10,repeats = 5)
metric = "Accuracy"

iris_data_knn <- train(Species~.,data = training_iris_set,method = "knn",preProcess = c("center","scale"),metric = metric,tr_control = training_control_iris)

这是我的代码。每当我运行它时,都会出现以下错误

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   :3     NA's   :3    
Error: Stopping

一些警告消息:

Warning messages:
1: predictions Failed for Resample01: k=5 Error in knn3Train(train = structure(c(5.1,4.9,4.7,: 
  unused argument (tr_control = list("none",25,NA,"grid",0.75,NULL,1,TRUE,FALSE,"final",function (data,lev = NULL,model = NULL) 
{
    if (is.character(data$obs)) data$obs <- factor(data$obs,levels = lev)
    postResample(data[,"pred"],data[,"obs"])
},"best",list(0.95,3,5,19,10,0.9),c(FALSE,FALSE),list(5,0.05,"gls",TRUE),TRUE))

2: predictions Failed for Resample01: k=7 Error in knn3Train(train = structure(c(5.1,TRUE))

为什么我得到这个错误。我还尝试将train()函数中的语法更改为:training_iris_set $ Species,数据= training_iris_set,但仍然返回相同的错误。 当我在train()函数中将方法参数更改为“ lda”时,我没有错误,然后创建了经过训练的另一个knn模型,也没有错误代码如下:

iris_data_knn <- train(Species~.,method = "lda",tr_control = training_control_iris)

set.seed(1245)
fit.knn <- train(Species~.,trControl = training_control_iris)

有人可以解释一下为什么只有在使用lda之后它才能工作吗?谢谢

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。