반응형
목표 인코딩(target encoding, target-based encoding, likelihood encoding)이란 범주형 변수와 대응하는 목표 변수의 값을 이용하는 방법입니다.
범수형 변수의 수준별로 수준의 항목을 목표 변수의 평균값으로 치환하는 처리를 합니다. 예를 들면 범주형 변수에 A라는 항목이 4개 포함되어 각각 1.5, 3.0, 0, 1.2의 outcome이 주어져 있다면 outcome의 평균값이 1.425이기 대문에 범수형 변수 A는 1.425로 값을 치환합니다.
tibble(
feature = "A",
outcome = c(1.5, 3.0, 0, 1.2)) %>%
catto_mean(response = outcome)
## # A tibble: 4 x 2
## feature outcome
## <dbl> <dbl>
## 1 1.42 1.5
## 2 1.42 3
## 3 1.42 0
## 4 1.42 1.2
또한 아래처럼 목표 변수가 논리값인 경우는 수치로 변환한 값을 이용합니다(R에서는 TRUE가 1, FALSE가 0입니다).
df
## # A tibble: 8 x 3
## feature outcome n
## <chr> <dbl> <int>
## 1 A 1 4
## 2 A 0 4
## 3 A 0 4
## 4 A 0 4
## 5 B 1 2
## 6 B 0 2
## 7 C 1 2
## 8 C 1 2
df %>%
catto_mean(response = outcome)
## # A tibble: 8 x 3
## feature outcome n
## <dbl> <dbl> <int>
## 1 0.25 1 4
## 2 0.25 0 4
## 3 0.25 0 4
## 4 0.25 0 4
## 5 0.5 1 2
## 6 0.5 0 2
## 7 1 1 2
## 8 1 1 2
목표 인코딩에서는 카테고리 수준마다 데이터 전체의 값을 참조하는 것이 되기 때문에 직접 이용하는 경우는 데이터 누출로 이어질 수 있습니다. 또한 빈도가 낮은 수준이 있는 경우도 과적합의 원인이 될 가능성이 있기 때문에 주의가 필요합니다.
같이 읽으면 좋은 글
반응형
'프로그래밍' 카테고리의 다른 글
【GBM 지식】 split point(분할 지점)이란? (0) | 2022.10.26 |
---|---|
예측 변수(predictor), 특징(Feature), 목표 변수(Target)의 차이는? (0) | 2022.10.26 |
【AI, ML 용어】 무작위성의 오류 비율(no information error rate)이란? (0) | 2022.10.04 |
【AI, ML 용어】 메타 예측(Meta-prediction) (0) | 2022.10.04 |
【AI, ML 용어】 메타 특징(Meta-features)이란? (0) | 2022.10.04 |
최근댓글