더북(TheBook)

모델링

분류 알고리즘을 적용하기에 앞서 훈련 데이터와 테스트 데이터를 나눠보자. 여기서는 설명의 편의를 위해 단순히 80%의 데이터를 훈련 데이터, 20%의 데이터를 테스트 데이터로 나누었으며 교차 검증은 사용하지 않았다.

> library(caret)
> train_idx <- createDataPartition(crude_acq_df$LABEL, p=0.8)$Resample1
> crude_acq.train <- crude_acq_df[train_idx, ]
> crude_acq.test <- crude_acq_df[-train_idx, ]

rpart를 사용한 의사 결정 나무를 만든다.

> library(rpart)
> m <- rpart(LABEL ~ ., data=crude_acq.train)

결과는 confusionMatrix( )를 사용해 분석해보자.

> confusionMatrix(
+ predict(m, newdata=crude_acq.test, type="class"),
+ crude_acq.test$LABEL)
Confusion Matrix and Statistics

          Reference
Prediction acq crude
    acq      9     0
  crude      1     4

                Accuracy : 0.9286
                  95% CI : (0.6613, 0.9982)
     No Information Rate : 0.7143
  P-Value [Acc > NIR] : 0.0594

                   Kappa : 0.8372
  Mcnemar's Test P-Value : 1.0000

             Sensitivity : 0.9000
             Specificity : 1.0000
          Pos Pred Value : 1.0000
          Neg Pred Value : 0.8000
              Prevalence : 0.7143
          Detection Rate : 0.6429
    Detection Prevalence : 0.6429

        'Positive' Class : acq

분석 결과 정확도가 92.86%로 들인 노력에 비해 상당히 괜찮은 모델을 구할 수 있었다. 다만 데이터의 크기가 작아 정확도의 95% CI(Confidence Interval; 신뢰 구간)는 66.13%에서 99.82%로 크게 구해졌다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.