의사 결정 트리(Decision Trees)
의사결정 트리란, 몇몇개의 입력변수를 통해 목표 변수의 값을 예측하는 알고리즘의 일종이다. 주로 하향식 기법을 이용하며 루트 노드부터 시작해, 가지를 통해 다음 자식 노드로 가는 것을 한 단계 진행했다고 하며, 각각의 진행단계마다 조건을 확인한다.
각각의 조건마다 가장 적합한 변수를 선택하여 분할의 적합성을 판단한다. 어떤 알고리즘을 선택하냐에 따라서 적합도는 변하며, 요소별로 적합도를 계산한 후에, 평균치를 가지고 변수를 선택한다.
- 지니 불순도
지니 불순도는 집합에 얼마나 이질적인 정보가 섞여 있는지를 이용한 판별법이다. 집합내에서 무작위로 요소를 추출한 다음, 그것이 틀렸을 확률을 이용한다. 즉, 지니 불순도가 0이라면, 그 집합은 완전히 순수한 집합이 된다. - 정보 획득량
정보 획득량을 통한 분류는 정보이론의 엔트로피에 근거한 분류방법이다.
의사결정 트리는 구조가 직관적이기 때문에 결과를 해석하고 이해하기 쉽다. 다른 학습 방법은 자료의 전처리가 중요한데 비해 의사결정 트리는 자료를 가공할 필요가 거의 없다. 각 단계마다 적합한 변수를 선택하여 사용하므로 수치자료와 범주자료 모두에 모델을 적용할 수 있다.
from sklearn import cross_validation
from sklearn.tree import DecisionTreeClassifier
X_train, X_test, y_train, y_test = cross_validation.train_test_split(X, y, test_size=0.25, random_state=5)
params = {'random_state': 0, 'max_depth': 4}
classifier = DecisionTreeClassifier(**params)
classifier.fit(X_train, y_train)
'파이썬으로 배우는 인공지능' 카테고리의 다른 글
| K-평균 알고리즘 (1) | 2018.12.19 |
|---|---|
| 서포트 벡터 머신(Support Vector Machine) (1) | 2018.12.16 |
| 나이브 베이즈 분류기 (1) | 2018.11.29 |
| 로지스틱 회귀 분류기 (0) | 2018.11.24 |
| 데이터 전처리 (0) | 2018.11.22 |
WRITTEN BY
- 텐초
딥러닝 관련 논문들과 코드를 완벽분석 합니다
,




