랜덤포레스트 2

4.6 랜덤 포레스트의 특성 중요도 사용, 머신러닝교과서, python

* 본 포스팅은 머신러닝교과서를 참조하여 작성되었습니다. 4.6 랜덤 포레스트의 특성 중요도 사용 랜덤 포레스트를 사용하면 앙상블에 참여한 모든 결정 트리에서 계산한 평균적인 불순도 감소로 특성 중요도를 측정할 수 있다. 편리하게도 사이킷런의 랜덤 포레스트의 구현은 특성 중요도 값을 이미 수집하고 있다. RandomForestClassifier 모델을 훈련한 후 feature_importances_ 속성에서 확인할 수 있다. 다음 코드에서 Wine 데이터셋에서 500개의 트리를 가진 랜덤 포레스트를 훈련하고 각각 중요도에 따라 13개의 특성에 순위를 매긴다. * 트리 기반 모델은 표준화나 정규화를 할 필요가 없다. from sklearn.ensemble import RandomForestClassifie..

Chapter 3.6 결정 트리 학습, 머신러닝교과서, pyhon

* 본 포스팅은 머신러닝교과서를 참조하여 작성되었습니다 3.6 결정 트리 학습 결정 트리(decision tree) 분류기는 설명이 중요할 때 아주 유용한 모델이다. 결정 알고리즘을 사용하면 트리의 루트(root)에서 시작해서 정보 이득(Information Gain)이 최대가 되는 특성으로 데이터를 나눈다. 반복 과정을 통해 리프 노드(leaf node)가 순수해질 때까지 모든 자식 노드에서 이 분할 작업을 반복한다. 트리의 최대 깊이를 제한하여 가지치기(pruning)를 한다. 3.6.1 정보 이득 최대화: 자원을 최대로 활용 import matplotlib.pyplot as plt import numpy as np def gini(p): return p * (1 - p) + (1 - p) * (1 ..