📜기본 숙제 : 교차 검증을 그림으로 설명하기
📜 추가 숙제 : Ch.05(05-3) 앙상블 모델 손코딩 코랩 화면 인증하기
아래 내용 정리에서 확인하실 수 있습니다.
🔖 Chap05. 트리 알고리즘
5.1 결정 트리
1) 로지스틱 회귀로 와인 분류하기
- 설명하기 쉬운 모델과 어려운 모델
2) 결정 트리
- 트리의 높이를 제한하고, 어떤 특성으로 나뉘는지 정보 추가
- 불순도
- 결정 트리 모델은 부모 노드와 자식 노드의 불순도 차이가 최대한 크도록 트리를 성장시킴
- 지니 불순도 = 1 - (음성 클래스 비율2 + 양성 클래스 비율2)
- 정보 이득 : 부모와 자식 노드 사이의 불순도 차이
- 엔트로피 불순도 : -음성 클래스 비율 * log2(음성 클래스 비율) - 양성 클래스 비율 * log2(양성 클래스 비율)
- 가지치기
- 결정 트리 알고리즘의 경우 표준화 전처리를 할 필요가 없음.
5.2 교차 검증과 그리드 서치
1) 검증 세트
- 테스트 세트를 사용하지 않을 경우 모델의 과소/과대 적합 여부를 판단하기 어려움
- 훈련 세트에서 모델을 훈련하고, 검증 세트로 모델을 평가함.
2) 교차 검증
- 검증 세트를 떼어 내어 평가하는 과정을 여러 번 반복한다.
- 위에서 얻은 점수들을 평균하여 최종 검증 점수를 획득한다.
- 하이퍼파라미터 튜닝
- 유저가 지정해야만 하는 하이퍼파라미터를 튜닝하는 작업
- 그리드 서치
- 먼저 탐색할 매개변수를 지정
- 그 다음 훈련 세트에서 그리드 서치를 수행하여 최상의 평균 검증 점수가 나오는 매개변수 조합을 찾는다. 이 조합은 그리드 서치 객체에 저장된다.
- 그리드 서치는 최상의 매개변수에서 전체 훈련 세트를 사용해 최종 모델을 훈련한다. 해당 모델도 그리드 서치 객체에 저장된다.
- 복잡한 매개변수 조합 탐색
- 불순도 감소 최소량 지정
- max_depth로 트리의 높이 제한
- min_sample_split으로 노드를 나누기 위한 최소 샘플 수 지정
- 랜덤 서치
- 매개변수 값의 목록을 전달하는 것이 아니라 매개변수를 샘플링할 수 있는 확률 분포 객체를 전달함.
5.3 트리의 앙상블
1) 정형 데이터와 비정형 데이터
- 정형 데이터 : 특정한 구조로 되어 있는 데이터(데이터베이스나 엑셀로 표현 가능)
- 비정형 데이터 : 정형 데이터가 아닌 것
- 앙상블 학습 : 정형 데이터를 다루는 데 가장 뛰어난 성과를 내는 알고리즘
2) 랜덤 포레스트
- 결정 트리를 랜덤하게 만들어 결정 트리의 숲을 만든다.
- 각 결정 트리의 예측을 사용해 최종 예측을 만든다.
- 각 트리를 훈련하기 위한 데이터를 랜덤하게 만든다. 이때 한 샘플이 중복되어 추출될 수 있다.
- 부트스트랩 샘플 : 위에서 만들어진 샘플
- 랜덤하게 선택된 샘플과 특성을 사용하기 때문에 훈련 세트에 과대적합되는 것을 막아주고 검증 세트와 테스트 세트에서 안정적인 성능을 얻을 수 있다.
3) 엑스트라 트리
- 랜덤 포레스트와 매우 비슷하게 동작
- 랜덤 포레스트를 전체 훈련 세트를 사용한다.
- 노드를 분할 때 무작위로 분할한다.
4) 그래디언트 부스팅
- 깊이가 얕은 결정 트리를 사용해 이전 트리와 오차를 보완하는 방식
5) 히스토그램 기반 그레이디언트 부스팅
- 정형 데이터를 다루는 머신러닝 알고리즘 중 가장 인기가 많은 알고리즘
- 먼저 입력 특성을 256개의 구간으로 나눈다.
- 노드를 분할할 때 최적의 분할을 매우 빠르게 찾을 수 있다.
- 입력에 누락된 특성이 있어도 전처리할 필요가 없다.
- 회귀에서 사용하는 XGboost
⚠️ XGBoost 이용 시 오류
❗사이킷런을 다운그레이드하여 해결
- LightGBM2
💭 느낀 점
전공에서 배운 내용을 복습할 뿐만 아니라 새로운 내용도 있어 배워가는 한 주였습니다.
'독학 > [책] 머신러닝+딥러닝' 카테고리의 다른 글
[혼공학습단 13기 혼공머신🤖] 혼자 공부하는 머신러닝 + 딥러닝 week5 (0) | 2025.02.11 |
---|---|
[혼공학습단 13기 혼공머신🤖] 혼자 공부하는 머신러닝 + 딥러닝 week3 (0) | 2025.01.24 |
[혼공학습단 13기 혼공머신🤖] 혼자 공부하는 머신러닝 + 딥러닝 week2 (0) | 2025.01.19 |
[혼공학습단 13기 혼공머신🤖] 혼자 공부하는 머신러닝 + 딥러닝 week1 (0) | 2025.01.12 |