В предыдущей статье «Регрессия: Как начать предсказывать» мы коснулись темы простой линейной регрессии. Сегодня мы продолжим погружаться в эту интересную тему.
Итак, задача на сегодня у нас следующая. Есть данные участников мастер-класса по скорочтению (126 наблюдений). Мы построим модель прогноза Количества прочитанных книг за год на основании Скорости чтения человека. Т. е. Количество книг это зависимая переменная, а Скорость чтения — это независимая переменная (предиктор).
В предыдущей статье мы уже строили простую линейную регрессию.
В этой статье мы задействуем следующие методы:
head(dataset)
trindex = sample(1:nrow(dataset), nrow(dataset)*0.8)
training_set = dataset [trindex, ]
test_set = dataset [-trindex, ]
training_set$Level2 = training_set$Скорость.чтения^2
training_set$Level3 = training_set$Скорость.чтения^3
training_set$Level4 = training_set$Скорость.чтения^4
poly_reg = lm(Сколько.книг~Скорость.чтения+Level2+Level3+Level4, data = training_set)
summary(poly_reg)
Теперь давайте построим и другие типы моделей.
dTree <- rpart(formula = Сколько.книг ~ Скорость.чтения,
data = training_set,
control = rpart.control(minsplit = 3))
rndForest = randomForest(x = training_set[5],
y = training_set$Сколько.книг,
ntree = 5)
fitSVM = svm(formula = Сколько.книг ~ Скорость.чтения,
data = training_set,
type = ‘eps-regression’,
kernel = ‘radial’)
fitKNN <- knn.reg(training_set[5], test_set[5], training_set[,4], k = 5)