AI/회귀

[회귀 - 16] R을 이용한 의사 결정 트리 실습

Nhahan 2022. 4. 25. 20:47

계속 사용해왔던 데이터 세트

[회귀 - 12]에서처럼 A의 연봉 예측을 해보겠다. 이번엔 의사 결정 트리다.

 

바로 예측까지 해보겠다.

library(rpart) # 의사 결정 트리 라이브러리
regressor = rpart(formula = Salary ~ .,
                  data = dataset,
                  control = rpart.control(minsplit = 1)) # 분할을 많이해 정보량을 늘리는 것과 같다.
predict(regressor, data.frame(Level = 6.5)) # 6.5 수준의 연봉 예측

결과 값 : 250000

 

다른 모델에 비해 예측 값이 상당히 높게 나왔다. 그래프까지 확인해보자.

library(ggplot2)
x_grid = seq(min(dataset$Level), max(dataset$Level), 0.01) # 해상도를 높여주는 것과 같다.
ggplot() +
  geom_point(aes(x = dataset$Level, y = dataset$Salary),
             colour = 'red') +
  geom_line(aes(x = x_grid, y = predict(regressor, newdata = data.frame(Level = x_grid))),
            colour = 'blue') +
  ggtitle('Truth or Bluff (Decision Tree Regression)') +
  xlab('Level') +
  ylab('Salary')

비선형적인 그래프의 모습을 확인할 수 있다.