프로그래밍 R 포스팅 사이트
(의사결정트리)
http://pubdata.tistory.com/27
분류트리 - 유한한 범주내에서 나온다.(의사결정트리는 분류트리이다.)
회귀트리 - 실수형태로 나온다.(무한하며 수학적인 느낌이 강하다.)
머신러닝, R, 인공지능 , 데이터 마이닝 등등 많은 내용이 포스팅 되어있는 사이트이다.
(랜덤 포레스트)
http://blog.daum.net/_blog/BlogTypeView.do?blogid=0QoPO&articleno=705
앙상블 학습법이란?
http://blog.daum.net/_blog/BlogTypeView.do?blogid=0QoPO&articleno=705
쉽게 설명하면 다양한 알고리즘을 사용하여 예측하는 것을 의미한다.
Overfit(과적합)
새로운 데이터에대해서 적응을 잘하지 못하는 것을 의미!
out of bag(OOB)
ex) n개의 공을 n번 복원추출을 하자. 그렇게 해서 1번이라도 뽑힌 공을 training으로 사용하고 뽑히지 않은 공을 test자료로 사용한다,
OOB(out of bag)를 사용해서 표본에서 중복을 허용하여 같은 크기의 부 표본을 추출하여 training 자료로 하고 나머지 선택되지 않은 개체들은 test 자료로 한다.
training자료를 트리 알고리즘에 넣는데 각 노드에서 대략 랜덤으로 절반정도의 변수만 추출하여 쓰고 나무(트리)를 최대한 크게 만든다. (다양한 트리를 만드는데 최대한 다르게 만드려고)
- why? 유사성을 피하기 위해(독립, 다양성 증가), 다른 나무를 만들어 나무를 만들때마다 다른 절반의 변수들이 사용된다. )
앞 단계를 n번 반복해서 산출된 모형을 통합하여 결론을 voting한다. (여러개 트리에 입력 빈도수 측정)
- 예를 들어 50개의 나무를 만들때, 30대 20으로 만족도가 나온다면(빈도수) -> 1로 판단
곧 데이터가 많은 자료에서 효율적으로 의사결정이 가능하다.
트리를 사용하기 때문에 연산속도가 빠르고 변수를 랜덤으로 하기 때문에 각 변수에 대한 중요도를 낼 수 있다. 곧 지니계수를 얼마나 감소시킨 변수가 있는가를 찾아낸다면 변수의 중요도를 알 수 있다
(지니계수를 통해 변수의 중요도 파악가능)
지니계수 = 불평등지수