주요 학습 내용
yes/no 에 대한 질문을 이어나가면서 정답을 찾아 학습하는 알고리즘.
비교적예측 과정을 이해하기 쉽고 성능도 뛰어나다.
결정 트리가 최적의 질문을 찾기 위한 기준.
사이킷런은 지니 불순도와 엔트로피 불순도를 제공
사진출처 : https://www.youtube.com/watch?v=tOzxDGp8rsg&list=PLJN246lAkhQjoU0C4v8FgtbjOIXxSs_4Q&index=11
부모 노드와 자식 노드의 불순도 차이.
결정 트리 알고리즘은 정보 이득이 최대화되도록 학습한다.
결정트리는 제한 없이 성장하면 훈련 세트에 과대적합되기 쉽다.
따라서 가지치기 방법을 통해 결정 트리의 성정을 제한한다.
사이킷런의 결정 트리 알고리즘은 여러 가지 가지치기 매개변수를 제공한다.
결정 트레어 사용된 특성이 불순도를 감소하는데 기여한 정도를 나타내는 값
특성 중요도를 계산할 수 있는 것이 결정 트리의 또다른 큰 장점이다.
feature_importances_
: 훈련세트로부터 학습한 값 중 하나로 어떤 특성이 중요하게 사용되었는 가를 판단할 수 있다.하이퍼파라미터 튜닝을 위해 모델을 평가할 때, 테스트 세트를 사용하지 않기 위해 훈련 세트에서 다시 떼어 낸 데이터 세트
훈련 세트를 여러 폴드로 나눈 다음 한 폴드가 검증 세트의 역할을 하고 나머지 폴드에서는 모델을 훈련한다.
교차 검증은 이런 식으로 모든 폴드에 대해 검증 점수를 얻어 평균하는 방법
cross_validate
함수에 테스트세트를 분리한 train_input과 train_target을 넣어준다{
'fit_time': array([0.00923681, 0.00792027, 0.00731087, 0.00722575, 0.00701618]),
'score_time': array([0.00079632, 0.00068426, 0.00062895, 0.00060749, 0.00059748]),
'test_score': array([0.86923077, 0.84615385, 0.87680462, 0.84889317, 0.83541867])
}
모델 파라미터
: 머신러닝 모델이 학습하는 파라미터하이퍼파라미터
: 모델이 학습할 수 없어서 사용자가 지정해야만 하는 파라미터하이퍼파라미터 탐색을 자동화해 주는 도구
탐색할 매개변수를 나열하면 교차 검증을 수행하여 가장 좋은 검증 점수의 매개변수 조합을 선택한다.
마지막으로 이 매개변수 조합으로 최종 모델을 훈련한다.
연속된 매개변수 값을 탐색할 때 유용하다. 탐색할 값을 직접 나열하는 것이 아니라 탐색 값을 샘플링할 수 있는 확률 분포 객체를 전달한다.
지정된 횟수만큼 샘플링하여 교차 검증을 수행하기 때문에 시스템 자원이 허락하는 만큼 탐색량을 조절할 수 있다.
🎉 기본 미션
교차 검증을 그림으로 설명하기
🎉 선택 미션
앙상블 모델 손코딩 코랩 화면 인증샷