화이트박스 : 결정트리, 직관적이고 결정 방식을 이해하기 쉽다.
블랙박스 : 랜덤 포레스트, 신경망, 어떻게 예측이 도출되었는지 파악하기 어렵다.
분류 트리 : 결과 값이 정수(범주형)
회귀 트리 : 결과 값이 실수(수치형, 연속형) 예시를 알아볼까?!!!!!!!!!
이진 분류(Binary Classification) : 이거, 아니면 저거
다중 분류(Multi-label Classification) : A,B,C 중 어디?
회귀 : x값에 비교해 y값이 어떤가
용어
루트노드(최상위), 부모노드, 자식노드, 리프노드(자식을 가지지 않는 노드), 중간노드
Root node, Intermediate node, Terminal node라고도 한다.
불순도
결정트리가 최적의 질문을 찾기 위한 기준. 사이킷런은 지니 불순도와 엔트로피 불순도를 제공한다.
DecisionTreeClassifier의 criterion 매개변수의 기본값은 'gini'이고 entropy로 지정 가능하고, DecisionTreeRegressor의 기본값은 mse이다.
지니 불순도가 조금 더 계산이 빠르다. 하지만 지니는 빈도 높은 클래스를 한쪽 가지로 고립시키는 경향이 있지만, 엔트로피는 조금 더 균형 잡힌 트리를 만든다.
3-1. 지니 불순도
3-2. 엔트로피 불순도
분자의 무질서함을 측정하는 것으로 열역학의 개념. 세트가 한 클래스의 샘플만을 담고 있다면 엔트로피가 0이 된다.
3-3. 정보이득
부모노드와 자식노드의 불순도차이.
데이터를 분할하기 전과 후의 변화(불확실성이 얼마나 해소되었는지).
정보 이득이 최대화되도록 학습.
노드를 순수하게 나눌수록 정보 이득이 커진다.
결정트리는 정보 이득이 높은 속성을 기준으로 분할한다.
가지치기
불순도를 낮추기 위해서 기존 데이터에 의존해 계속해서 의사결정을 구분하면 과대적합이 일어난다. 이를 막기 위해 가지치기(Pruning)을 하게 되고, 깊이를 줄이는 것은 가지치기 방법 중 하나. 사이킷런에서는 사전 가지치기만을 제공.
가지치기와 관련하여 https://tensorflow.blog/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D/2-3-5-%EA%B2%B0%EC%A0%95-%ED%8A%B8%EB%A6%AC/
특성 중요도(feature importance)
결정 트리에 사용된 특성이 불순도를 감소하는데 기여한 정도
장점, 단점
장점
결과를 해석하고 이해하기 쉽다.
자료를 가공할 필요가 거의 없다.(전처리 간소화)
수치와 범주형 데이터에 모두 적용 가능하다.
화이트박스 모델
안정적이다.
대규모의 데이터셋에서도 잘 동작한다.단점
과적합의 발생 -> 가지치기 필요
정보 획득량이 편향되는 문제
https://ko.wikipedia.org/wiki/%EA%B2%B0%EC%A0%95_%ED%8A%B8%EB%A6%AC_%ED%95%99%EC%8A%B5%EB%B2%95
남은 공부
분류 및 회귀 트리(Classification And Regression Tree, CART) - 탐욕적 알고리즘
참고
https://blog.naver.com/qja1264/222884937512 결정트리 키워드
https://easyselfstudy.tistory.com/57 불순도와 트리 생성 원리
https://analysis-flood.tistory.com/100 화이트박스와 블랙박스, 지니와 엔트로피
유튜브 김성범 채널 의사결정나무모델2(분류나무)