Я начинающий R, и мне нужно сделать 5 или 10-кратную перекрестную проверку в модели случайного леса. Моя проблема заключается в том, что я должен сделать резюме вручную, а не с пакетом. Что я хочу сделать, это: 1. Построить k-сгибы с моими тренировочными данными 2. Выберите мой параметр настройки, например деревья = c (200, 400, 600) 3. Установите мою модель на k-1 сгибах и прогнозируйте мои значения на набор удержания (набор проверки) 4. Затем я хочу оценить свой прогноз на наборе удержания и сохранить значение.
мой оценочный параметр должен быть AUC. Я понимаю теорию, но у меня есть проблемы, чтобы сделать это в R. У вас есть идея для моего кода? Большое спасибо !!!
Это проблема классификации, так как альтернативой является то, что набор данных радужной оболочки также будет работать здесь.
Я застрял там, не зная, как мне уместить модель в k-1 сгибы и предсказать значения для каждого проверочного набора. Я устанавливаю i = 1, i = 2 и так далее?
Это то, что у меня уже есть, но это не работает:
training.x = ирис [, 1: 4]; training.y = iris [, 5];
training$folds =
sample(1:5,nrow(training), replace=TRUE)
myGrid <- expand.grid
( ntrees = c(500, 1000, 2000),
mtry = c( 2, 4, 6, 8)
for (i in 1: 5){
newrf = randomForest(x = training.x[training$folds!=i,] , y = as.factor(training.y)
,tuneGrid = myGrid , importance = TRUE , do.trace = 10) new.pr = predict(newrf, training.mt.X[training$folds==i,], id= i)
err.vect[i] =roc.area(test, new.pr)$class
print(paste("AUC for fold", i, ":", err.vect[i]))}```