Target Encoding은 categorical feature의 각 카테고리별 target의 통계값을 활용해 유의미한 선형성을 띄는 continues feature로 바꿔주는 방법으로. 대표적으로 카테로리별 target의 평균값으로 인코딩 하는 mean encoding이 있다. mean encoding은 binary target에 적용될때 bin counting으로 불리기도 한다. non-order 카테고리중 카테고리가 많아서 one-hot시에 오히려 학습도가 떨어지는 feature를 대상으로 한다. Smooting Target encoding은 target 정보를 이용한 feature를 만들기 때문에 data leakage로 인한 overfitting을 야기한다. 그래서 우선 data leakage를 피하기위해 train set을 encoding split과 train split으로 나누어야 한다. 그럼에도 불구하고 여전히 두종류의 문제가 존재한다. 첫번째는 unknown categories 다. 모델 학습시에 encoding에 사용되는 split은 train에 사용될 split과 독립이기 때문에 encoding split에는 존재하지 않던 카테고리가 존재할 수 있고 이 경우에 모델은 임의의 값으로 impute 해줄 수 밖에 없다. imputation된 값은 통계적 의미가 없으므로 feature의 중요도가 낮아지게 된다. 두번째 문제는 rare categories 다. 만약 카테고리가 데이터셋에 아주 드물게 존재한다면, encoding split에서 수행되는 해당 카테고리의 target에 대한 통계값의 정확도(전체 데이터셋에서의 통계값과 일치하는 정도)는 낮아질 수 밖에 없다. 이런 feature에서는 target encoding의 통계적 의미가 퇴색된다. 이러한 문제들의 해결책으로 제시되는 것이 smooting 이다. 그 방법은 카테고리 내의 평균($Avg_{cat}$)과 전체 평균($Avg$)을 섞는 것이다. $$encoding = weight
Mutual Information과 Correlation의 차이점 공부하다가 문득 떠오른 의문이 있다. 왜 feature engineering에서는 correlation을 안쓰고 mutual information을 사용할까? Mutual information은 correlation로 대체될수 없는 어떤 특징을 가진걸까? Mutual Information과 Correlation가 가진 정보의 차이 mutual information은 두 변수의 정보 엔트로피간의 인과관계를 나타내는 정보고 correlation 두 변수 값들의 인과관계를 나타내는 정보다. correlation으로 알수있는 정보는 오직 두 변수간의 인과관계의 선형성과 단조성이다. 이는 인과관계의 극히 일부분에 지나지 않는 정보다. 그래서 비선형의 인과관계를 지닌 변수들과 인과관계를 찾을 수 없는 변수들을 구분하지 못한다. 반면 mutual information은 그 인과관계의 구체적인 모양을 가르쳐주지 않지만 선형 비선형을 아우르는 전반적인 인과관계의 세기를 알려줄 수 있다.