분석시각화 대회 코드 공유 게시물은
내용 확인 후
좋아요(투표) 가능합니다.
categorical features with high cardinality data
categorical features with high cardinality 데이터 다루는데 target encoding 같은 방법들을 쓰는데, 혹시 feature들 grouping하는 것도 도움이 되나요?
# 높은 카디널리티 데이터를 갖춘 범주 형 기능 : 대상 인코딩 및 자르기
높은 카디널리티 데이터를 갖춘 범주 적 특징은 일반적으로 작업하기가 어렵습니다.
많은 머신 러닝 알고리즘이 높은 카디널리티로 데이터를 처리 할 수 없기 때문입니다.
데이터를보다 관리하기 쉽게하려면 카테고리 수를 줄이는 방법을 찾는 것이 중요합니다.
카테고리 수를 줄이기 위해 사용되는 두 가지 일반적인 방법은 대상 인코딩 및 자르기입니다.
## 타겟 인코딩
대상 인코딩은 범주 형 변수의 범주가 대상의 평균으로 대체되는 기술입니다.
모델이 범주 형 변수와 대상 변수 사이의 관계를 캡처 할 수 있기 때문에 유용합니다.
예를 들어, 네 가지 범주 (빨간색, 파란색, 녹색 및 노란색)의 "색상"이라는 변수가 있고 레이스 결과를 예측하려면
대상 인코딩을 사용하여 범주를 평균 마무리 시간으로 바꿀 수 있습니다.
## 자르기
카테고리 수를 줄이는 또 다른 방법은 카테고리를 자르는 것입니다.
자르기는 유사한 범주를 함께 그룹화하여 카테고리 수를 줄이는 과정입니다.
이것은 이해하기에는 너무 많은 범주가 있거나 일부 범주가 서로 너무 비슷하여 의미있는 구별을 할 때 유용합니다.
예를 들어, 100 카테고리의 변수가있는 경우 유사한 범주를 함께 그룹화하여 10 개 범주로자를 수 있습니다.
높은 카디널리티 데이터를 처리 할 때는 기계 학습 모델에서 사용할 기능을 결정하기가 어려울 수 있습니다.
높은 카디널리티 데이터를 갖는 범주 형 특징은 일반적으로 TE (Target Encoding)와 같은 방법과 함께 사용됩니다.
이것은 많은 범주를 다루고 의미있는 기능을 만드는 데 도움이 될 수 있습니다.
자르기는 몇 가지 유사한 값을 하나로 결합하여 데이터 세트의 크기를 줄이는 데 사용되는 기술입니다.
이것은 대형 데이터 세트를 처리 할 때, 특히 카테고리 수를 줄이려고 할 때 유용 할 수 있습니다.
높은 카디널리티 데이터를 갖춘 범주 형 특징의 맥락에서, 자르기는 관련 정보를 유지하면서 범주 수를 줄이는 데 도움이 될 수 있습니다.
아래는이 상황에서 자르기를 어떻게 사용할 수 있는지 보여주는 샘플 코드입니다.
이 코드는 "Pandas"패키지를 사용하여 데이터 세트의 "카운티"열을 자릅니다.
그런 다음 "County"열은 자른 카테고리가 포함 된 "cruped_county"열로 교체됩니다.
```
import pandas as pd
# 데이터 세트를 로드하십시오
df = pd.read_csv ( 'data.csv')
# '카운티'열을 자릅니다
df [ 'cruped_county'] = df [ 'County']. str.slice (start = 0, stop = 3)
# '카운티'열을 자른 버전으로 바꾸십시오.
df = df.drop ( 'County', 축 = 1)
df = df.rename (columns = { 'croped_county': 'county'})
```
자르기는 높은 카디널리티 데이터를 다룰 때 유용한 기술이 될 수 있습니다.
관련 정보를 유지하면서 데이터 세트의 카테고리 수를 줄이는 데 도움이 될 수 있습니다.
그러나 카테고리가 너무 작거나 의미가없는 경우 자르기가 모델의 정확도를 줄일 수 있음을 알고 있어야합니다.
따라서 모델을 적용하기 전에 자르기가 모델에 미치는 영향을 고려하는 것이 중요합니다.
데이콘(주) | 대표 김국진 | 699-81-01021
통신판매업 신고번호: 제 2021-서울영등포-1704호
서울특별시 영등포구 은행로 3 익스콘벤처타워 901호
이메일 dacon@dacon.io | 전화번호: 070-4102-0545
Copyright ⓒ DACON Inc. All rights reserved