Decision Tree

Jesy·2021년 6월 18일
0

1. 데이터 탐색

R 기본 데이터인 ‘Iris’ 데이터를 활용하여 K-Nearest Neighbors(Knn), Naïve Bayes, Decision Tree 방법론을 사용하기에 앞서 데이터의 기본적인 구조를 탐색한다.
Target Variable은 Species로 설정한다.

str(iris)
table(iris$Species)

#Target variable
table(iris$Species)

2. Training / Test data 분류

전체 데이터는 150개로, 3:1로 나누어 Training data는 105개, Test data는 45개로 나누어 모델의 학습과 테스트를 실시한다.
각 샘플링은 랜덤으로 진행되도록 하며, 샘플된 데이터는 고정시켰다.

#random sample / training, test data
set.seed(1) 
train_sample = sample(150, 105)
str(train_sample)
iris_train = iris[train_sample, ]
iris_test  = iris[-train_sample, ]
prop.table(table(iris_train$Species))
prop.table(table(iris_test$Species))

3. Decision Tree

library(C50)
iris_model = C5.0(iris_train[-5], iris_train$Species)
iris_model
summary(iris_model)
iris_pred = predict(iris_model, iris_test)

library(gmodels) 
CrossTable(iris_test$Species, iris_pred,
           prop.chisq = FALSE, prop.c = FALSE, prop.r = FALSE,
           dnn = c('actual', 'predicted'))


Decision Tree 학습 결과, Tree Size = 3, Error = 3.8으로 적절히 나누어졌다고 판단해 추가적인 작업 없이 Test data를 이용하여 분석을 시행한다.

Decision Tree 모형으로 Iris Data의 Species Classification를 수행한 결과는, accuracy = 0.911, error rate = 0.089이다.

profile
잡학꾸러기

0개의 댓글