R Случайный лес Caret: точность из набора тестов (из раздела данных) полностью отличается от набора данных о сохранении - PullRequest
0 голосов
/ 03 мая 2020

я провел RF через каретку для задачи классификации, в соответствии с классической процедурой:

1) я использовал create DataPartition 2) я создал набор тестовых данных и набор данных Train (из файла .csv) 3 ) бегать с поездом Карет, использующим «repeatcv» в качестве перекрестной проверки (n = 10, повторы = 5) 4) я получил хорошую модель обучения с достаточной точностью (около 0,75, схожая чувствительность и специфичность) 5) набор тестовых данных ( настроить из createpartition) и получил аналогичную точность. Теперь, если я использую два РАЗЛИЧНЫХ файла для данных поезда и теста (то есть я вручную разделяю данные), которые в точности образуют один и тот же набор данных, разделенный на 1), то я обучаю модель, которую я получаю, в конце концов, с очень низкой точностью ( около 0,5, в частности специфичность падает до 0,3 и каппа снижается). Как это возможно? По сути, единственное отличие состоит в том, что я провел «тестовый набор» физически, но в разделе данных система не делает то же самое? Я видел такое же поведение для другой модели, которую я запускал. ниже часть сценария, чем вы очень заранее! С наилучшими пожеланиями


trainingData<-FMIB_s3or[TrainingDataIndex,]
testData<-FMIB_s3or[-TrainingDataIndex,]
trainingData[["out10"]] = factor(trainingData[["out10"]])
numFolds<-trainControl(method="repeatedcv", number=10,repeats=5)
model=train(out10~.,data=trainingData,method="rf",trControl=numFolds,preProcess=c("center","scale"),tuneLength=10)
test_pred<-predict(model,newdata=testData)

`

...