Я не могу найти способ выполнения перекрестной проверки на случайной модели регрессии, которую я пытаюсь создать.
Итак, у меня есть набор данных, содержащий 1664 объясняющих переменных (разные химические свойства) с одной переменной ответа (время удерживания). Я пытаюсь создать регрессирующую случайную модель леса, чтобы иметь возможность предсказать химические свойства чего-то, учитывая его время удерживания.
ID RT (seconds) 1_MW 2_AMW 3_Sv 4_Se
4281 38 145.29 5.01 14.76 28.37
4952 40 132.19 6.29 11 21.28
4823 41 176.21 7.34 12.9 24.92
3840 41 174.24 6.7 13.99 26.48
3665 42 240.34 9.24 15.2 27.08
3591 42 161.23 6.2 13.71 26.27
3659 42 146.22 6.09 12.6 24.16
Это пример таблицы, которая у меня есть. Я хочу в основном построить RT против 1_MW и т.д. (До 1664 переменных), поэтому я могу найти, какая из этих переменных имеет значение, а какие нет.
Я: -
r = randomForest(RT..seconds.~., data = cadets, importance =TRUE, do.trace = 100)
varImpPlot(r)
который говорит мне, какие переменные важны, а что нет, что здорово. Тем не менее, я хочу, чтобы иметь возможность разбить мой набор данных, чтобы я мог выполнять перекрестные проверки на нем. Я нашел онлайн-учебник, в котором объяснялось, как это сделать, но для модели классификации, а не для регрессии.
Я понимаю, что вы: -
k = 10
n = floor(nrow(cadets)/k)
i = 1
s1 = ((i-1) * n+1)
s2 = (i * n)
subset = s1:s2
чтобы определить, сколько крестовых сгибов вы хотите сделать, и размер каждой складки, и установить начальное и конечное значение подмножества. Однако, я не знаю, что делать дальше. Мне сказали, что нужно пройти, но я честно понятия не имею, как это сделать. Я также не знаю, как затем построить набор проверки и набор тестов на один и тот же график, чтобы отобразить уровень точности/ошибки.
Если бы вы могли помочь мне с этим, я был бы так благодарен, спасибо!