
Data Science
246
assert classify(tree, Candidate("Junior", "Java", True, False))
# False
로
예측해야
한다
.
assert not classify(tree, Candidate("Junior", "Java", True, True))
심지어 관찰된 적 없는 값이 변수에 등장하거나 변수 값 자체가 누락되었더라도
분류가 가능하다.
# True
로
예측해야
한다
.
assert classify(tree, Candidate("Intern", "Java", True, True))
여기서는 나무를 구축하는 방법을 보여 주는 것이 목적이었기 때문에 나무를 구축하는 데
데이터 전체를 사용했다. 하지만 우리가 실제로 어떤 작업을 하기 위해 모델을 구축하는 것
이 목표였다면, 더 많은 데이터를 수집한 후 데이터를 학습, 검증, 평가 데이터로 나눴을 것
이다.
17.6
랜덤포레스트
의사결정나무를 쉽게 학습 데이터에 맞출 수 있는 것을 보면, 오버피팅되는 경
향이 있는 게 그리 놀라운 일이 아니다. 오버피팅을 방지할 수 있는 대표적인 방
법 중 하나로, 여러 개의 의사결정나무를 만들어 다수결로 결과물을 종합하는
랜덤포레스트(
random
forests
)라는 것이 있다. 분류나무라면 나무의 결과로 과
반 투표를 ...