DATOR


Oracle의 순환전개를 활용한 Decision Tree 구현사례. 2 SQL


1. 예제로 사용할 의사결정나무
 
아래의 그림은 예제로 사용할 의사결정 나무입니다.
 
뉴슬라이드1.JPG  
 
<그림 1. 의사결정나무 >
위 의사결정나무는 검사대상의 현재 건강상태를 분류하는 트리입니다. 결과로 보면 'bad'와 'good'으로 구분되어 있습니다. 위 예제에서 사용된 의사결정나무의 내용은 중요하지 않습니다. 중요한 것은 트리가 어떻게 값을 분류하는지 의사결정나무의 매커니즘을 이해하는데 있습니다.
 
그래도 간단한 내용은 알아야겠죠? 예제에서 사용된 트리의 노드에 사용된 항목들을 번역해 봤습니다.
 
용어 해석.
Wage increase First year - 입사 첫해의 임금 상승률
Work hours Per week - 주당 근무 시간
Statutory holidays - 법정 공휴일 수
Health plan contribution- 건강보험

그렇다면 가상의 인물인 '오성'의 현재의 건강상태는 어떨까요? (※ 가상인물이므로 이는 실제인물과 아무 관련이 없습니다.)

뉴슬라이드19.JPG

< 그림 2. 가상인물 오성의 기본정보 >
 
이제 '오성'을 의사결정나무에 따라 분류해보겠습니다.
 
뉴슬라이드20.JPG   
 
< 그림 3. 의사결정나무를 이용하여 분류 >
 
의사결정나무를 이용하여 분류한 결과는 'good'으로 나왔습니다.
 
2. 의사결정나무를 수용할 수 있는 데이터 모델
 
우선 데이터 모델이 의사결정나무을 정확히 표현할 수 있는 구조가 첫 원칙으로 삼고 모델을 작성하였습니다.
 
데이터모델_초기(한글).jpg
< 그림 4. 초기 의사결정나무 데이터 모델의 형태 >
 
통합되지 않고 초기의 데이터 모델을 보여드리는 이유는 의사결정나무의 구조를 보면서 데이터 모델을 이해하시기 편하게 함입니다. 이 후에 최종으로 통합된 형태는 1:1 관계를 통합한 것 말고는 큰 차이는 없습니다.
 
아래는 엔터티에 대한 설명입니다.
 
1) 마디 유형 정보(Node Meta Data)
  의사결정나무의 마디(노드)에 사용되는 항목들에 대한 정보를 관리
 
2) 의사결정나무(Decision Tree)
  의사결정나무의 어떠한 의미를 가지고 있는지 관리
 
3) 의사결정나무 마디(Decision Tree Node)
  의사결정나무를 구성하는 마디에 대한 정보를 관리
 
4) 의사결정나무 가지(Decision Tree Branch)
  의사결정나무의 분류하는 가지가 갔고 있는 범위를 관리
 
5) 의사결정나무 결과(Decision Tree Result)
  대상들이 분류가 되면 어떠한 상태를 의미하는지 관리
 
6) 의사결정나무 마디 상위 분류 정보(Decision Tree Node high Classification)
  의사결정나무 마디는 어떠한 가지에 의해서 분류되는지를 관리
 
이 엔터티중 '의사결정나무 결과(Decision Tree Result)'와 '의사결정나무 마디 상위 분류 정보(Decision Tree Node high Classification)'는 각각 '의사결정나무 가지(Decision Tree Branch)'와 '의사결정나무 마디(Decision Tree Node)' 엔터티로 통합됩니다.
 
의사결정나무의 형태와 인스턴스 차트를 보면서 설명하겠습니다.
 

 

뉴슬라이드2.JPG

< 그림 5. 의사결정나무에서 '마디 유형 정보(Node Meta Data)'에 해당하는 부분과 인스턴스 차트 >

 

뉴슬라이드3.JPG  

< 그림 6. 의사결정나무에서 '의사결정나무(Decision Tree)'에 해당하는 부분과 인스턴스 차트 >

 

뉴슬라이드4.JPG  

< 그림 7. 의사결정나무에서 '의사결정나무 마디(Decision Tree Node)'에 해당하는 부분과 인스턴스 차트 >

 

뉴슬라이드5.JPG  

< 그림 8. 의사결정나무에서 '의사결정나무 가지(Decision Tree Branch)'에 해당하는 부분과 인스턴스 차트 >

 

 뉴슬라이드6.JPG

< 그림 9. 의사결정나무에서 '의사결정나무 결과(Decision Tree Result)'에 해당하는 부분과 인스턴스 차트 >

 

뉴슬라이드7.JPG  

< 그림 10. 의사결정나무에서 '의사결정나무 마디 상위 분류 정보(Decision Tree Node high Classification) '에 해당하는 부분과 인스턴스 차트 >

 

어느 정도 이해가 되셨나요? 1:1 관계 통합하여 최종적으로 통합된 형태의 데이터모델은 아래와 같습니다.
 
 데이터모델_통합(한글).jpg
< 그림 11. 최종 통합된 의사결정나무 데이터 모델 > 
TAG

Leave Comments


profile우리는 하나님을 믿는다. 다른 모든 것들은 데이터로 검증해야 한다. 

Recent Trackback