PART 03 · 데이터 분석5장 정형 데이터 마이닝 · ⑪ 이론정복강의
01 / 13
📘 의사결정나무 알고리즘 · party 실습 · kyphosis | 교재 419–423쪽419–423쪽 · 전체 구성
PART 03 · 데이터 분석   |   교재 419–423쪽

의사결정나무 알고리즘
& R 실습 예시

6가지 알고리즘 차이부터 실제 iris 분류, 혼동행렬, kyphosis 기출문제까지. 나무가 어떻게 분류하고, 어디에서 틀리는지 직접 확인합니다.

총 13장 · 좌우 화살표로 장 이동
ROOT분리 1분리 2AABB
01 / 6 ALGORITHMS

의사결정나무 알고리즘, 6종류를 구분하자

문제유형 · 분리 방식 · 분리 기준을 함께 보면 차이가 선명해집니다.

교재 419–420쪽
CART

이진 분리의 대표

Classification And Regression Trees

범주형 목표 → 지니지수
연속형 목표 → 분산 감소

항상 두 개 가지로 분리 (Binary Split)

C4.5 / C5.0

여러 갈래도 가능

범주형 입력변수는 다지분리가 가능하고, 교재는 엔트로피를 주요 개념으로 설명합니다.

CART와 분기 개수 비교가 핵심

CHAID

통계적 유의성 기반

범주형 목표 → 카이제곱
연속형 목표 → F 통계량

일반적 사후 가지치기 대신 성장 중지 기준 활용

ID3

정보이득 최대화

정보 이득(Information Gain)이 가장 큰 특성을 선택합니다.

초기 알고리즘 · 연속형·과적합 대응에 한계

QUEST

선택 편향 완화

통계적 검정을 이용하는 빠르고 편향을 줄인 트리 알고리즘입니다.

Quick, Unbiased, Efficient, Statistical Tree

MARS

구간별 스플라인 회귀

변수의 구간별 관계를 스플라인으로 모델링합니다.

엄밀히는 일반적인 분기형 트리와 다른 회귀 방법

암기 문장 · CART = 지니·분산·이진 / C4.5 = 엔트로피·다지 / CHAID = 카이제곱·F검정 / ID3 = 정보이득 / QUEST = 선택 편향 완화 / MARS = 스플라인.
02 / COMPARE

한 표로 보는 알고리즘 선택 기준

교재의 기술을 중심으로 비교했습니다. 표의 ‘적합 사례’는 이해를 돕는 예시입니다.

교재 419–420쪽
방법핵심 기준분리 특징적합 상황 예시핵심 기억
CART범주형: 지니 / 연속형: 분산 감소이진 분리관광상품 구매 여부·지출액2개 가지
C4.5 / C5.0엔트로피 계열다지분리 가능관광객 선호 유형 분류여러 가지
CHAID카이제곱 / F 통계량유의성 검정 기반관광만족도 집단 비교통계 검정
ID3정보이득초기 범주형 분류 중심단순 선택규칙 설명Information Gain
QUEST통계 검정변수 선택 편향 완화특성 수가 다양한 분류Unbiased
MARS적응적 회귀 스플라인구간별 비선형 관계가격·소비액 추정Spline

시험에 자주 나오는 3가지 짝

CART ↔ GiniCHAID ↔ χ²ID3 ↔ Information Gain

출제문항 주의

분류 지표(지니·엔트로피)와 모형 평가 지표(정확도·재현율)는 다른 단계에서 사용합니다.

03 / SPLIT VISUALIZATION

이진분리(Binary)와 다지분리(Multiple)를 그림으로

알고리즘마다 한 번의 분할에서 허용하는 가지 수가 다릅니다.

교재 419쪽

① CART · 이진분리

구매횟수 ≥ 3?CART아니요예고객 집단 A고객 집단 B

한 번의 분리에서 항상 좌/우 2개 자식 마디를 만듭니다.

② C4.5 / CHAID · 다지분리 가능

관광유형?Multiple Split문화자연체험

입력변수 범주에 따라 여러 갈래로 나눌 수 있습니다.

추가 설명 · 실제 C4.5·CHAID의 정확한 분할은 변수 유형, 통계 기준, 설정에 따라 달라집니다. 위 관광 유형은 구조만 설명한 가상 예시입니다.
04 / TRAIN & TEST

iris 데이터를 70% 학습·30% 평가로 분할

꽃받침·꽃잎의 길이와 폭으로 붓꽃 세 종류를 예측하는 대표적인 분류 연습입니다.

교재 421쪽

1. 사용할 데이터

전체 관측치150iris 데이터
클래스3setosa · versicolor · virginica
입력변수4Sepal × 2 / Petal × 2

2. 교재 R 코드

idx <- sample(2, nrow(iris), replace=TRUE, prob=c(0.7, 0.3)) train.data <- iris[idx==1,] test.data <- iris[idx==2,]
해석 · 각 행을 독립적으로 70% 확률로 학습용에 할당합니다. 따라서 105/45명으로 정확히 고정되는 것은 아닙니다.

party 패키지 유의사항(교재): 결측값 처리나 트리 표시·predict() 실행에서 문제가 발생할 수 있다고 안내합니다. 실제 동작은 데이터와 패키지 버전에 따라 확인이 필요합니다.

3. 데이터 분할 실습

학습용 비율 (설명용)70%
50%90%
설명용 기대 학습 개수105
설명용 기대 시험 개수45

※ 교재 결과표에서 실제 학습 107건 / 시험 43건은 무작위 할당으로 얻은 한 번의 실행 예시입니다.

05 / DATA MAP

iris 꽃잎 데이터는 실제로 어떻게 모여 있을까?

데이터에 분류 경계선을 그려 보면 의사결정나무 규칙을 한눈에 이해할 수 있습니다.

교재 421쪽 + 이해 보충
● setosa● versicolor● virginica

분류할 변수는?

입력변수 (Predictors)
Sepal.Length, Sepal.Width, Petal.Length, Petal.Width

목표변수 (Target)
Species = setosa / versicolor / virginica

교재에 등장하는 경계

1차 분리: Petal.Length ≤ 1.7
2차 분리: Petal.Width ≤ 1.7

이 경계는 전체 150개 관측치를 분석해 얻은 것이 아니라 교재에 제시된 학습 예시의 결과입니다.

그래프 출처 · 공개 iris 원자료의 꽃잎 수치로 산점도를 생성했습니다. 경계선은 교재 421–422쪽의 예시를 덧그린 것입니다.
06 / CTREE PREDICTION

교재의 iris 의사결정나무 — 직접 예측하기

꽃잎 길이와 폭을 변경하면 교재에 제시된 분리 규칙을 따라 최종 분류가 달라집니다.

교재 421–422쪽

교재 ctree 구조 (학습 107건)

원문 트리: 첫 분리 Petal.Length ≤ 1.7 → setosa / 나머지 Petal.Width 기준으로 분리.

관측치 값을 바꿔 보세요

꽃잎 길이 Petal.Length3.5 cm
꽃잎 폭 Petal.Width1.2 cm
예상 붓꽃 종류versicolor길이 > 1.7 → 폭 ≤ 1.7
주의 · 이 도식은 교재의 학습 결과를 이해하기 위한 예측 시뮬레이션이며, R의 ctree()를 브라우저에서 다시 학습시키는 기능은 아닙니다.
07 / LEAF NODES

최종 잎노드(Leaf Node) 안에는 무엇이 들어 있을까?

하나의 잎노드에는 관측치가 여럿 들어 있고, 가장 많은 범주가 해당 노드의 예측값이 됩니다.

교재 421–422쪽
Node 2 · n = 34

예측: setosa

setosa 34 · versicolor 0 · virginica 0

길이 ≤ 1.7 → 34/34 모두 setosa

Node 4 · n = 39

예측: versicolor

setosa 0 · versicolor 36 · virginica 3

같은 노드에도 다른 범주 3건이 존재

Node 5 · n = 34

예측: virginica

setosa 0 · versicolor 1 · virginica 33

모든 잎노드가 완벽히 순수할 필요는 없음

교재 R 코드 — 나무 생성

library(party) iris.tree <- ctree(Species ~ ., data=train.data) plot(iris.tree) plot(iris.tree, type="simple")

교재의 2가지 그래프

① plot(iris.tree) : 잎노드에 범주별 비율을 막대그래프로 표시합니다.

② plot(iris.tree, type="simple") : 조건과 예측 범주를 간단히 보여줍니다.

독해 포인트 · 분기 조건은 해당 노드에서 어떤 변수가 대상을 둘로 나누었는가를, 잎노드는 최종 예측 범주를 뜻합니다.
08 / CONFUSION MATRIX

R의 table() 결과로 정확도를 직접 읽자

교재 숫자를 그대로 반영했습니다. 행은 예측값, 열은 실제값이라는 점이 중요합니다.

교재 422쪽
예측 \ 실제setosaversicolorvirginica
table(predict(iris.tree), train.data$Species)
정답 수103
오답 수4
정확도96.26%

정확도 공식

정확도 = 대각선의 합 / 전체 건수
(34 + 36 + 33) / 107 = 96.26%

학습·시험 성능 비교

학습 Training96.26%103 / 107
시험 Test90.70%39 / 43

예시에서 시험 정확도는 학습 정확도보다 낮습니다. 다만 이 차이만으로 과적합이라고 단정할 수는 없습니다.

원문 교차 확인 · OCR 과정에서 행렬 값의 줄맞춤이 틀어질 수 있어 첨부 교재 PDF 422쪽의 실제 표를 기준으로 수치를 확인했습니다. 원문 예시에는 set.seed()가 없어 재실행하면 표가 달라질 수 있습니다.
09 / KYPHOSIS TREE

kyphosis의 rpart 나무를 순서대로 읽기

Start·Age 조건에 따라 Kyphosis가 absent(없음) 또는 present(있음)으로 분류됩니다.

교재 423쪽

출처: 교재 423쪽 rpart() 출력·분기조건을 SVG로 작성. n=81, 결측이 없다는 가정의 훈련자료 예시.

출력의 각 열을 읽는 방법

node = 마디 번호
split = 분기 기준
n = 마디의 관측치 수
loss = 다수범주로 예측할 때의 오분류 수
yval = 마디에서 예측한 범주
yprob = 범주별 상대도수

교재 root 해석

전체81
예측 실수 (loss)17

root: absent · 비율 absent 64/81 ≈ 79.0%, present 17/81 ≈ 21.0%

중요 · 분기는 위에서 아래로 읽고, 같은 관측치는 조건을 만족하는 한 경로만 따라갑니다.
10 / PREDICTION PATH

Start와 Age 값을 바꿔 나무를 따라가 보세요

어느 잎노드에 도착하는지에 따라 예측값과 위험도가 달라집니다.

교재 423쪽
Start · 수술 시작 위치15
Age · 수술 시 월령80
예측 Kyphosisabsent끝 마디 n=29 · absent 29건 / present 0건
주의 · 이 실습은 423쪽에 인쇄된 의사결정 규칙을 따라갑니다. 실제 의학적 진단이나 예측 서비스가 아닙니다.

선택된 경로

왜 어떤 잎노드는 100%가 아닐까?

예를 들어 Start<8.5 구간의 19건은 absent 8건, present 11건입니다. 다수범주인 present를 예측하지만 8건의 오분류가 남습니다.

11 / PAST EXAM QUESTIONS

교재 핵심 기출문제 25번·26번

정답을 고르면 이유를 바로 확인할 수 있습니다.

교재 420·423쪽
41회 기출 · 문제 25 · 교재 420쪽

연속형 목적변수에는 분산 감소, 범주형에는 지니지수를 사용하는 알고리즘은?

18회 기출 · 문제 26 · 교재 423쪽

kyphosis 결정나무 결과에 대한 설명 중 부적절한 것은?

개념을 정확하게 이해하기 · 교재 해설의 “분할할 때마다 각 마디 불순도가 감소한다”는 문장은 엄밀하게 보면 단순화된 표현입니다. 형제 자식 마디의 가중 평균 불순도와 개별 마디 불순도를 구별해야 합니다.
12 / ONE-PAGE RECAP

의사결정나무, 5쪽 내용을 한 장으로 정리

시험 직전에는 ‘분할 기준 → 학습·예측 → 결과 해석 → 과적합 주의’를 연결해 기억하세요.

교재 419–423쪽
STEP 01알고리즘 선택CART · C4.5 · CHAID 등
→
STEP 02훈련 데이터iris 70% · ctree()
→
STEP 03나무 생성루트 → 분기 → 잎노드
→
STEP 04성능 확인table() · 정확도

핵심 개념 5가지

CART범주형 Gini / 연속형 분산 감소 / 이진분리
CHAID카이제곱·F 통계량
ID3Information Gain
ctree()조건부 추론 트리 생성 (party 패키지)
rpart()나무 출력의 n / loss / yval / yprob 해석

교재 핵심 숫자

iris 훈련 정확도96.26%
iris 시험 정확도90.70%
kyphosis 루트 n81
기출 정답25③ · 26①
한 문장 요약 · 의사결정나무는 데이터를 잘 구분하는 변수·기준을 반복 선택해 분류 규칙을 만들고, 훈련 밖의 시험 데이터로 예측 성능을 확인합니다.