728x90
반응형
카테고리형 데이터는 보통 pandas.get_dummies 혹인 LabelEncoder, OnelHotEncoding 을 사용하는데요
카테고리 데이터가 몇십 몇백개가 되면 연산속도도 느리고 피처가 너무 많아져서 과대적합이 일어날 수 있습니다.
그래서 서칭을 통해서 어떤 사항을 고려할 수 있는지 모아봤습니다!
1. 빈도수 기준 '기타' 처리
카테고리형 데이터에 unique한 값별로 얼마나 많은 비율을 차지하는지 확인하는 방법입니다.
만약 카테고리가 100개인데, 단 10개가 전체의 90%이상을 차지한다면 나머지 90개는 'other'로 분류할 수 있습니다.
2. Target Encoding
회귀의 경우에는 각 카테고리로 groupby를 해서 나오는 target의 mean 값을 사용할 수 있습니다.
(하지만 이 인코딩은 target을 건드는 만큼 train 데이터에서만 사용이 가능합니다. 또한, 데이터 leakage가 발생할 수 있으므로 조심히 사용해야 한다고 합니다)
3. Domain data 활용
이 방법은 여러 웹사이트에서도 언급된 내용인데, 관련 지식이 있다면 전혀 무관한 종류들은 분석가의 판단에 의해 제외시키는 방법입니다.
** 더 좋은 방법이나 팁이 있다면 댓글 달아주세요!
Source:
728x90
반응형
'Data Science > Machine Learning' 카테고리의 다른 글
K-Nearest Neighbors 최근접 이웃 알고리즘 정리 A-Z (0) | 2022.10.19 |
---|---|
Train , Test 데이터 전처리를 위해 병합하는 방법 정리 ! (0) | 2022.10.13 |
[ Scikit-learn ] compose.ColumnTransformer, make_column_transformer 정리 (0) | 2022.10.13 |
Dataframe describe 기능 정리 (0) | 2022.10.12 |
[ Scikit-learn ] Train, test데이터 분리(train_test_split, StratifiedShuffleSplit) (0) | 2022.10.02 |
댓글