Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R中使用插入符号包获取训练错误_R_Algorithm_Machine Learning_Analytics_R Caret - Fatal编程技术网

在R中使用插入符号包获取训练错误

在R中使用插入符号包获取训练错误,r,algorithm,machine-learning,analytics,r-caret,R,Algorithm,Machine Learning,Analytics,R Caret,我正在使用插入符号包来训练一个K-最近邻算法。为此,我运行以下代码: Control <- trainControl(method="cv", summaryFunction=twoClassSummary, classProb=T) tGrid=data.frame(k=1:100) trainingInfo <- train(Formula, data=trainData, method = "knn",tuneGrid=tGrid,

我正在使用插入符号包来训练一个K-最近邻算法。为此,我运行以下代码:

Control <- trainControl(method="cv", summaryFunction=twoClassSummary, classProb=T)

tGrid=data.frame(k=1:100)

trainingInfo <- train(Formula, data=trainData, method = "knn",tuneGrid=tGrid,
                              trControl=Control, metric =  "ROC")

Control在多个层面上,你所问的是一个坏主意。你将大大高估ROC曲线下的面积。考虑1-NN模型:你每次都会有完美的预测。p>
为此,您需要再次运行
train
,并修改
索引
indexOut
对象:

library(caret)

set.seed(1)
dat <- twoClassSim(200)

set.seed(2)
folds <- createFolds(dat$Class, returnTrain = TRUE)

Control <- trainControl(method="cv", 
                        summaryFunction=twoClassSummary, 
                        classProb=T,
                        index = folds,
                        indexOut = folds)

tGrid=data.frame(k=1:100)

set.seed(3)
a_bad_idea <- train(Class ~ ., data=dat, 
                    method = "knn",
                    tuneGrid=tGrid,
                    trControl=Control, metric =  "ROC")
库(插入符号)
种子(1)

首先,谢谢你的回答。也许我没有正确地解释它。。。我需要同时返回训练错误和测试错误,而不需要运行2次。不仅是火车的错误。我想这样做的原因是为了评估不良结果是否是由于过度拟合或拟合不足造成的。