728x90

04.의사결정트리(Decision Tree)  in R


- 의사결정트리(Decision Tree) 방식은 나무구조 형태로 분류결과를 도출해내는 방식으로, 입력 변수 중에서 가장 영향력이 있는 변수를 기준   으로 이진 분류하여 분류결과를 나무 구조 형태로 시각화를 해줍니다..

- 비교적 모델 생성이 쉽고, 단순하지만 명료한 결과를 제공하기 때문에 의사결정의 자료로 가장 많이 사용하는 지도학습 모델입니다.




다음은 R의 party패키지의 ctree()함수로 의사결정트리를 생성하는 방법입니다.


먼저 소스코드입니다.



다음은 air_ctree의 결과입니다.

결과를 보면 온도를 결정하는 1순위가 Ozone이고 2순위가 Wind라는것을 알수있으며, Solar.R은  영향을 안 미치는것을 볼수 있습니다.

* 은 마지막 노드라는 것을 의미합니다.



다음은 분류분석 결과를 시각화 한 모양입니다.





728x90

의사결정트리(Decision Tree)




의사결정트리(Decision Tree) 정의

결정 트리(decision tree) 의사 결정 규칙과 결과들을 트리 구조 도식화한 의사 결정 지원 도구의 일종이다

결정 트는 운용 과학, 중에서도 의사 결정 분석에서 목표에 가장 가까운 결과를 있는 전략을 찾기 위해 주로 사용된다.



                                                 의사결정트리(Decision Tree) 알고리즘                                                                         

결정 트리를 구성하는 알고리즘에는 주로 하향식 기법이 사용되며, 진행 단계에서는 주어진 데이터 집합을 가장 적합한 기준으로 분할하는 변수값이 선택된다. 

서로 다른 알고리즘들은분할의 적합성" 측정하는 각자의 기준이 있다.

이러한 기준들은 보통 부분 집합 안에서의 목표 변수의 동질성을 측정하며, 아래는 예시들이다.

기준들은 가능한 데이터 집합 분할의 경우의 수마다 적용되며, 결과 값들은 병합되어, 평균 값이 계산되어, 데이터 집합의 분할이 얼마나적합한지" 측정하는데 사용된다.

 

Decision Tree algorithm


(Decision Tree) 강점


결과를 해석하고 이해하기 쉽다.

자료를 가공할 필요가 거의 없다.

수치 자료와 범주 자료 모두에 적용할 수 있다.

화이트박스 모델을 사용한다.

안정적이다.

대규모의 데이터 셋에서도 잘 동작한다.



의사결정트리(Decision Tree)의 약점


각 노드에서의 최적값을 찾아내는 탐욕 알고리즘 같은 휴리스틱 기법법을 기반으로 하고 있어 최적 결정 트리를 알아낸다고 보장할 수는 없다.

훈련 데이터를 제대로 일반화하지 못할 경우 너무 복잡한 결정 트리를 만들 수 있다.

배타적 논리합이나 패리티,멀티플렉서와 같은 문제를 학습하기 어렵다.

약간의 차이에 따라 트리의 모양이 많이 달라질 수 있다.

 

728x90

Data mining 기법

 

- classification : *decision Tree, random forest, naive bayer, *suppost vactor machine, *artificial Neural network

      - clustering

      - Association role discovery

      - regression

 

Data?

 

 information about study(data mining) participants

 

 

 

 

Attributes의 종류

 

Attributes = variable 중 성격,속성 이 초점인 것

 

       - Nominal : 분리형(=categorical)

           - Ordinal : 순서형

           - interval : 일반적으로 쓰이는 숫자

           - Ratio : 0, 분수형태로 표현가능, 가장유연

 

 

Discrete Attribute : 이산형 ex)나이 0 , 1, 2의 속성들 사이에 값이 없음

Continuous Attribute : 연속형 ex) 0, 0.1, 0.0001, ... , 0.99999 , 1처럼 01사이에 값이 무수히 많음.

Record : 기록을 모아둔 데이터

 

 

 

 

 

Data quality problem의 종류

 

           -Noise and Outliers

           -Outliers : 평균값과의 차이가 커서 평균값의 오차를 만드는 값

           순서형 변수에선 답변이 한쪽에 몰릴 수 있는 경향이 있음.

           -Missing values : 측정값이 없는 값

중위수나 평균값으로 체우거나, 결집체가 작으면 참여자를 지워버림. , 지운뒤에도 충분한 참여자가 있어야함.

           -Duplicate data : 데이터가 모자라면 데이터를 복사하여 사용.

 

 

 

 

 

type of sampling

          

-simple random sampling : 샘플을 랜덤으로 뽑음

-sampling without replacement : 샘플링을 여러번 할때 한번 사용한 대상은 다시 대상이 될수 없음.

           -sampling with replacement : 사용한 대상도 다시사용 가능

           -stratified sampling : 구역을 나눠서 각 구역별로 랜덤샘플링을 함.

          

sample size : 변수 1개당 최소 10건의 데이터가 필요

 

 

 

 

 

Principle Component Analysis

 

두개 이상 차원의 관련정보를 가장 적은 차원관련 정보로 변환해줌

 

728x90

데이터 마이닝(Data mining) 이란?

기존 데이터 셋을 사용하여 학습, 비즈니스 또는 정부 목적으로 예측 모델을 구축 및 평가하는 것.

 

 기존 데이터 셋은     1. Training set (build)      을 포함한다.

                                  2. Test set (evaluating)

                                  3. Target variable

 

 

 

다음은 기존 데이터 셋으로 Target variable의 알 수 없는 값을 예측하는 과정이다.

1. Training Set(아주 많은 데이터)을 사용하여 Learn classifier를 만든다.

2. learn classifier로 예측한 예측연봉과 Test set(많지 않은 데이터)에있는 연봉을 비교하여 오차값을 구한다.

3. 여러 Training Set을 사용하여 오차값이 가장 작은 모델을 적용하여 Target variable의 모르는 값을 도출한다.

 

 

+ Recent posts