[개미의 걸음 scikit-learn 3차시] Classification① 의사결정트리(Decision Tree)의 이해
IT개미 데이터
2021. 2. 3. 07:07
728x90
Decision Tree[의사결정나무]
학습을 통해 데이터에 있는 규칙을 찾아내어 Tree기반의 분류 규칙을 만드는 것
ML 알고리즘 중 직관적으로 이해하기 쉬운 알고리즘 → Tree구조는 연속적으로 발생하는 의사결정문제를 시각화 → 의사결정이 이뤄지는 시점과 성과를 한눈에 한 눈에 보여줌 → 계산결과가 의사결정나무에 직접 나타나기 때문에 해석이 간편 → 불순도가 낮아야 정보획득량이 높음
의사결정나무는 주어진 입력값에 대한 출력값을 예측하는 모형(주로 하향식 기법 사용)
분류나무와 회귀나무 모형이 잇음 → 사이킷런에서는 DecisionTreeClassifier와 DesisionTreeRegressor 클래스 → 사이킷런의 결정 트리 구현은 CART[Classification And Regression Trees] 알고리즘 기반
규칙 마디가 많을 경우, 분류 결정 방식이 더욱 복잡해지므로 과대적합 가능성이 높음 → 트리의 깊이가 깊어질수록 결정 트리의 예측 성능이 저하될 가능성이 높음
가능한 적은 결정 노드로 높은 에측 정확도를 가지려면 결정 노드 규칙 선정이 중요 → 최대한 많은 데이터 세트가 해당 분류에 속할 수 있도록 하는 것이 중요!
의사결정나무의 활용
세분화
데이터를 비슷한 특성을 갖는 몇 개의 그룹으로 분할해 그룹별로 특성을 세분화할 때 사용
분 류
여러 예측변수들에 근거해 관측 개체의 목표변수 범주를 몇 개의 등급으로 분류할 때 사용
예 측
자료에서 규칙을 찾아내고 이를 이용해 미래의 사건을 예측할 때 사용
차원 축소 및 변수 선택
매우 많은 수의 예측 변수 중에서 목표 변수에 큰 영향을 미치는 변수들을 골라내고자할 때 사용
교호작용 효과의 파악
여러 개의 예측변수들을 결합해 목표변수에 적용하는 규칙을 파악하고자 할 때 사용
범주의 병합
범주형 목표 변수의 범주를 소수의 몇 개로 병합할 때 사용
연속형 변수의 이산화
연속형 목표 변수를 몇 개의 등급으로 이산화할 때 사용
의사결정나무의 장점 & 단점
장 점
모형을 만드는 방법이 계산적으로 복잡하지 않으며 정확도도 높은 편 대용량 데이터에서도 빠르게 만들 수 있음[신속한 데이터 분류작업 가능] 비정상 잡음 데이터에 대해서도 민감함이 없이 분류 가능 한 변수와 상관성이 높은 다른 불필요한 변수가 있어도 크게 영향을 받지 않음 설정 변수나 목표변수에 수치형 변수와 범주형 변수를 모두 사용 가능 결과를 누구에게나 설명하기 용이
단 점
새로운 자료에 대한 과대적합이 발생할 가능성이 높음 분류 경계선 부근의 자료값에 대한 오차가 큼 설명 변수간의 중요도를 판단하기 쉽지 않음
의사결정나무의 분석과정
① 성장(growing) 단계
각 마디에서 적절한 최적의 분리 규칙(Splitting rule)을 찾아서 나무를 성장시키는 과정 적절한 정지규칙(Stopping rule)을 만족하면 중단
분리 규칙 [Splitting rule]
최적 분할은 불순도 감소량을 가장 크게 하는 분할을 찾는 것 각 마디에서 최적 분할 규칙은 분리변수의 선택과 분리 기준에 의해 결정됨 각 단계에서 최적 분리기준에 의한 분할을 찾은 다음 각 분할에 대해서도 동일 과정 반복
분리기준 [Splitting Criterion]
1. 이산형 목표 변수
카이제곱 통계량 p값 → p값이 가장 적은 예측 변수와 그 때의 최적분리에 의해 자식마디를 형성
지니 지수 → 지니지수를 감소시켜주는 예측변수와 그 때의 최적 분리에 의해 자식마디를 선택
엔트로피 지수 → 엔트로피 지수가 가장 적은 예측 변수와 이 때의 최적 분리에 의해 자식마디를 형성
2. 연속형 목표 변수
분산 분석에성의 F통계량 → p값이 가장 적은 예측 변수와 그때의 최적분리에 의해 자식마디를 형성
분산의 감소량 → 분산의 감소량을 최대화하는 기준의 최적분리에 의해 자식마디를 형성
정지규칙 [Stopping Rule]
더 이상 분리가 일어나지 않고 현재 마디가 끝 마디가 되도록 하는 규칙 →과적합 문제를 방지 정지 기준[Stopping Criterion] : 의사결정나무의 깊이를 지정, 끝마디의 레코드 수의 최소 개수를 지정
② 가지치기(Pruning) 단계
오차를 크게할 위험이 높거나 부적절한 추론 규칙을 가지고 있는 가지 또는 불필요한 가지를 제거하는 단계
과대적합되어 현실 문제에 적응할 수 있는 적절한 규칙이 나오지 않는 현상을 방지
너무 큰 나무모형은 자료를 과대적합하고 너무 작은 나무모형은 과소적합할 위험이 있음
나무의 크기를 모형의 복잡도로 볼 수 있으며, 최적의 나무 크기는 자료로부터 추정하게 됨
일반적으로 마디에 속하는 자료가 일정수(가령 5)이하일 때, 분할을 정지하고 비용-복잡도 가지치기 방법을 이용해 성장시킨 나무를 가지치기하는 방법을 사용
③ 타당성 평가 단계
이익도표[gain chart], 위험분포(risk chart) 혹은 시험자료를 이용해 의사결정나무를 평가하는 단계