scikit-learn-contrib/category_encoders
A library of sklearn compatible categorical variable encoders
What it solves
머신러닝 모델은 일반적으로 수치형 입력을 필요로 하지만, 실제 데이터셋에는 범주형 변수(예: 국가명 또는 성별)가 포함되는 경우가 많습니다. 이 라이브러리는 이러한 범주형 레이블을 모델이 처리할 수 있는 수치형 형식으로 변환하는 포괄적인 도구 세트를 제공하며, 단순한 one-hot encoding보다 더 고급스러운 대안을 제공합니다.
How it works
다양한 인코딩 기술을 scikit-learn 스타일의 변환기로 구현합니다. 이는 크게 두 가지 범주로 나뉩니다:
- 비지도 학습 엔코더: 특징 자체에만 기반하여 범주를 숫자로 변환합니다 (예: Binary, Hashing, One-Hot, 및 Ordinal encoding).
- Supervised encoders: 타겟 변수를 사용하여 인코딩 프로세스를 안내하며, 이는 고카디널리티(high-cardinality) 특징에 더 효과적일 수 있습니다 (예: Target Encoding, CatBoost, 및 LeaveOneOut encoding).
이 라이브러리는 pandas DataFrames와 numpy arrays와 직접 통합되며 scikit-learn pipelines 내에서 사용하도록 설계되었습니다.
Who it’s for
데이터 과학자 및 머신러닝 엔지니어, 특히 표준 one-hot encoding을 사용할 경우 컬럼이 너무 많이 생성되는 고카디널리티 특징을 다루는 분들에게 적합합니다.
Highlights
- Scikit-learn compatible: 표준 변환기로 작동하여 기존 ML pipelines에 쉽게 적용할 수 있습니다.
- Extensive library: 지도 및 비지도 인코딩 방법의 폭넓은 라이range의 라이브러리입니다.
- Overfitting prevention: 데이터 누수를 줄이기 위해 지도 학습 엔코더를 위한
NestedCVWrapper와 특정fit_transform로직을 포함합니다. - Flexible input: numpy arrays와 pandas DataFrames를 모두 지원합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트