R기초 trees 데이터 셋을 이용한 예측치와 실측치 분석

 predict를 이용한 예측은 현업 실무 할 때 매우 중요하다.  모델을 만들었는데,  그것을 예측하여,  결과값을 만들어 전사 DB에 업데이트 하였다. 

회귀분석 Predict Observation


  trees 데이터 셋에 대해 다음의 문제를 해결 하는 R 코드를 작성 하시오.

   (1) 나무 둘레(Girth)와 나무의 키(,Height)로 나무의 볼륨을 예측 하는 다중 선형 회귀모델을 만드시오. 

  (2) 다중선형 회귀모델을 이용하여 trees 데이터셋의 나무 둘레(Girth)와 나무의 키(Height)로 나무의 볼륨을 예측 하시오. 

 (3) (2)에서 예측한 볼륨과 실제 trees 데이터 셋의 볼륨(Volume)이 얼마나 차이가 나는지 보이시오( 예측값, 실제값,  예측값-실제값을 나타낸다.)

1번 답 (다중 선형모델 )

(1) 문제 다중 선형 회귀모델
  fit <- lm(Volume~Girth+Height, data = trees)
  summary(fit)
## 
## Call:
## lm(formula = Volume ~ Girth + Height, data = trees)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -6.4065 -2.6493 -0.2876  2.2003  8.4847 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -57.9877     8.6382  -6.713 2.75e-07 ***
## Girth         4.7082     0.2643  17.816  < 2e-16 ***
## Height        0.3393     0.1302   2.607   0.0145 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.882 on 28 degrees of freedom
## Multiple R-squared:  0.948,  Adjusted R-squared:  0.9442 
## F-statistic:   255 on 2 and 28 DF,  p-value: < 2.2e-16

회의 모형인 lm 함수에  종속변수 Volume,  독립변수 Girth, Heights Girth, Heights를 이용하여 모형을 돌려 fit이라는 객체를 만든다.  이를 summary 하여, 통계량을 살펴 보자

  둘 다 유의한 수준에서 변수를 사용할 수 있다.   그리고  Adjusted R-squared : 0.9442 로 매우 예측력이 매우 좋다.   


2. 답 (예측 문제)

 #(2) 문제 predict 문제
# random dataset 가져오기 
# 같은 값을 추출 하게 하기 
  set.seed(10)
  new.proc <- trees[sample(nrow(trees), 5),]
  new.proc
##    Girth Height Volume
## 11  11.3     79   24.2
## 9   11.1     80   22.6
## 10  11.2     75   19.9
## 16  12.9     74   22.2
## 12  11.4     76   21.0
# 나무 예측 
 dci_Volume <- predict(fit, newdata = new.proc)
 dci_Volume
##       11        9       10       16       12 
## 22.01540 21.41302 20.18758 27.85220 21.46846

  데이터를  5개 샘플링 하여 뽐은 다음  그것을 예측 하였다.    예측 하였을 때는 predic 함수 에 모형을 앞에 넣고,   샘플링 한 데이터를 콤마 뒤에 넣고 데이터를 예측 하였고 아래와 같은 결과가 나왔다. 


3. 답 (모델평가)

#(3) 문제 실제 데이터 셋이 볼롬이 차이값계산
 result <- cbind(new.proc, dci_Volume)

 result$예측값차이 <- result$dci_Volume - result$Volume    
 result
##    Girth Height Volume dci_Volume 예측값차이
## 11  11.3     79   24.2   22.01540 -2.1845977
## 9   11.1     80   22.6   21.41302 -1.1869786
## 10  11.2     75   19.9   20.18758  0.2875813
## 16  12.9     74   22.2   27.85220  5.6522029
## 12  11.4     76   21.0   21.46846  0.4684646

  모델에 대한 평가는 rmse값을 많이 이용하지만,  여기에서는 예측값과 실제 값의 차이를 보여 주라고 하였다.  

실제 실무에서는 위와 같이 모델링을 해서 예측 한 다음에,  실무에 반영 할 수 있도록 전사 DataBase에 넣어 관리 하는 경우가 많다.   

이 부분은 실무에서 매우 중요한 부분으로써 반드시 알아야 한다. 

댓글 없음:

댓글 쓰기

css cheat sheet 클래스 선택자, margin(마진), display , center 조정 간단한 구성 요소

 앞에서는 html의 간단한 sheet를 소개 하였습니다.   html은  주로 골격을 나타나는 것이라, 디자인을 하는데는 css로 하여야 합니다.  아래 코드와 같이 css 관련 하여 매우 간단하게 코딩 하겠습니다.  body 부분의 css 코딩  ...