Вам нужно передать tuneRF
переменные объекта как x
и переменную ответа как y
.
Итак, сначала найдите позицию столбца вашей переменной ответа (taste
):
resp_pos <- which(colnames(wineq) == "taste")
Тогда:
fgl.res <- tuneRF(x = wineq[train, -resp_pos ], y= wineq[-train, resp_pos],
stepFactor=1.5)
Я также заметил, что вы используете wineq$taste <- ifelse(wineq$quality < 6, 'bad', 'good')
, чтобы найти свой «новый» ответ (taste
), основанный на столбце quality
.Обратите внимание, что это прекрасно, но перед тренировкой вам нужно удалить столбец quality
.
Если вы этого не сделаете, ваша модель будет чрезмерно оптимистичной, так как, например, она подберет ее:
quality < 6
всегда будет означать taste=="bad"