반응형
본 글은, 캐글 Multi-Class Prediction of Obesity Risk에 참여하며 작성했던 노트북을 기반으로 작성한 글입니다.
기본적인 EDA, 모델 구축, 평가에 관한 BaseLine 구축은 해당 링크에 참조되어있습니다.
본 글에서는 BaseLine 구축 후 모델의 성능을 높이는 다양한 방법들을 소개하려고 합니다.
[대회] Multi-Class Prediction of Obesity Risk
[참여 노트북]
어떻게 모델의 성능을 높일 수 있을까요?
1. 피쳐 엔지니어링
2. 모델 최적화
3. 이상치 제거
4. 교차검증
5. 데이터 증강
6. 오류 분석
7. XAI
피쳐 엔지니어링
모델의 성능을 높이기 위해 다양한 피쳐들을 만들고, 때론 변환하며 다양한 테스트를 시도해볼 수 있습니다.
그럴때, 깔끔하게 다양한 경우를 시도할 수 있게 도와주는 sklearn 라이브러리의 기능이 있습니다.
FunctionTransformer
- 사용자 정의 변환 기능 : 키와 몸무게 등의 feature를 사용해서 BMI라는 새로운 feature 생성과 같이 사용자가 정의한 함수를 데이터에 적용할 수 있습니다.
- 파이프라인과 통합 : FunctionTransformer를 파이프라인 안에 넣으면 데이터 변환 단계를 파이프라인으로 포함시킬 수 있기 때문에 어떻나 데이터도 이 파이프라인 하나로 데이터 변환부터 예측까지 수행할 수 있습니다.
- 일관된 API : FunctjionTransformer는 scikit-learn의 Transformer와 동일한 API를 따릅니다. 따라서 다른 scikit-learn Transfomer(StandardScaler, MinMaxScaler 등)와 함께 사용할 때 일관성을 유지할 수 있습니다.
BaseEstimator
- BaseEstimator 클래스를 상속받은 경우, 파이프라인과 그리드 탐색에 필요한 _get_params()와 set_params() 메서드를 사용할 수 있도록 지원합니다
- 어떤 컬럼을 제거하는지에 따라 모델의 성능을 테스트할때, 컬럼 제거 클래스를 만들어 이를 그리드 탐색에 넣어 답을 찾을 수 있게죠.
TransformerMixin
- TransformerMixin 클래스를 상속받은 경우, fit(), transform() 메서드를 나만의 변환기에 생성하였을 경우 마지막 메서드인 fit_transform()을 자동으로 생성합니다.
최적화
Optuna
Optuna는 하이퍼 파라미터 최적화를 위한 오픈소스 파이썬 라이브러리입니다. 주어진 목적함수를 최소화 또는 최대화하기 위한 최적의 하이퍼 파라미터 조합을 찾는 것을 목표로 합니다.
Optuna는 베이지안 최적화(Bayesian Optimization) 알고리즘을 중심으로 구현되어 있습니다.
베이지안 최적화에 대한 설명은 참조한 링크에 설명되어 있습니다.
반응형
'wonderland > wonderland news' 카테고리의 다른 글
Dobby is free! 호그와트가 탐낼만한 도비 챗봇 생성기 (0) | 2024.07.09 |
---|---|
Ai Agent들이 사이좋게 살고있는 마을. 저도 한번 만들어봤습니다. (0) | 2024.07.07 |
[24년 2월 3주] Multi-Class Prediction of Obesity Risk - BaseLine (0) | 2024.02.18 |
[24년 2월 2주] 나는 쇼핑몰 CEO다. 얼마 이상 구매시, 무료배송을 해야할까? (0) | 2024.02.12 |
Magazine (0) | 2024.02.04 |
댓글