05-1. 결정 트리
마무리
키워드
- 결정 트리
예/아니오에 대한 질문을 이어나가면서 정답을 찾아 학습하는 알고리즘.
비교적 예측 과정을 이해하기 쉽고 성능도 뛰어남
- 불순도
결정 트리가 최적의 질문을 찾기 위한 기준.
- 정보 이득
부모 노드와 자식 노드의 불순도 차이.
결정 트리 알고리즘은 정보 이득이 최대화되도록 학습한다.
- 특성 중요도
결정 트리에 사용된 특성이 불순도를 감소하는데 기여한 정도.
핵심 패키지와 함수
- DecisionTreeClassifier
결정트리 분류 클래스
- creterion
불순도를 지정. 기본값은 지니 불순도를 의미하는 'gini'이고 'entropy'불순도를 사용할 수도 있다.
- splitter
노드를 분할하는 전략을 선택한다. 기본값은 'best'로 정보 이득이 최대가 되도록 분할. 'random'이면 임의로 노드를 분할
- max_depth
트리가 성장할 최대 깊이를 지정. 기본값은 'None'으로 리프 노드가 순수하거나 min_samples_split보다 샘플 개수가 적을 때까지 성장
- min_samples_split
노드를 나누기 위한 최소 샘플 개수. 기본값은 2
- max_features
최적의 분할을 위해 탐색할 특성의 개수. 기본값은 None
- plot_tree()
결정 트리 모델을 시각화. 첫 번째 매개변수로 결정 트리 모델 객체를 전달.
- max_depth
나타낼 트리의 깊이를 지정. 기본값은 None으로 모든 노드를 출력
- feature_names
매개변수로 특성의 이름을 지정
- filled
매개변수를 True로 지정하면 타깃값에 따라 노드 안에 색을 채운다.
확인문제
확인문제는 더 공부해서 풀기..!
05-2. 교차 검증과 그리드 서치
교차 검증
검증 세트를 떼어 내어 평가하는 과정을 여러 번 반복.
이 점수를 평균하여 최종 검증 점수를 얻는다
마무리
키워드
- 검증세트
하이퍼파라미터 튜닝을 위해 모델을 평가할 때, 테스트 세트를 사용하지 않기 위해 훈련 세트에서 다시 떼어 낸 데이터세트
- 교차검증
훈련세트를 여러 폴드로 나눈 다음 한 폴드가 검증 세트의 역할을 하고 나머지 폴드에서는 모델을 훈련한다.
모든 폴드에 대해 검증 점수를 얻어 평균하는 방법
- 그리드 서치
하이퍼파라미터 탐색을 자동화해 주는 도구.
탐색할 매개변수를 나열하면 교차검증을 수행하여 가장 좋은 검증 점수의 매개변수 조합을 선택.
매개변수 조합으로 최종 모델을 훈련한다.
- 랜덤 서치
연속된 매개변수 값을 탐색할 때 유용.
탐색할 값을 직접 나열하는 것이 아니고 탐색 값을 샘플링할 수 있는 확률 분포 객체를 전달.
지정된 횟수만큼 샘플링하여 교차 검증을 수행하기 때문에 시스템 자원이 허락하는 만큼 탐색량 조절 가능
확인 문제
- 교차 검증
- 교차 검증을 '수행하는' 함수나 클래스
- cross_validate()
- GridSearchCV
- RandomizedSearchCV
- 나중에 해보기