본문 바로가기
AI/회귀

[회귀 - 14] R을 이용한 서포트 벡터 회귀 실습

by Nhahan 2022. 4. 25.

https://nhahan.tistory.com/30 <- 회귀 - 12에서 이어지는 내용

.

.

.

 


 

이번엔 A에 대한 정보를 SVR 모델을 통해 측정해볼 것이다.

SVR을 다루기 위한 라이브러리 'e1071'을 설치한다.

install.packages('e1071')

 

e1071을 이용해 회귀 모델을 만든다.

library(e1071)
regressor = svm(formula = Salary ~ .,
                data = dataset,
                type = 'eps-regression', # 비선형 데이터임(회귀 - 12 참고)으로 'eps-regression'을 이용
                kernel = 'radial')
                
# 범주화를 위한 SVM 모형을 만든다면 C-classification
# 라이브러리 문서 참고

 

 

6.5 수준의 급여를 예측해보면,

predict(regressor, data.frame(Level = 6.5))

결과값 : 177861.1

을 얻을 수 있다. 그리고 이는 A가 주장한 16만 달러와 비슷한 수치이다.

 

이를 그래프로 나타내면,

library(ggplot2)
x_grid = seq(min(dataset$Level), max(dataset$Level), 0.1) # x_grid에 대한 설명 회귀 - 12 참고
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 (SVR)') +
  xlab('Level') +
  ylab('Salary')

이러한 결과를 얻을 수 있다.

댓글