• 카테고리

    질문 & 답변
  • 세부 분야

    딥러닝 · 머신러닝

  • 해결 여부

    미해결

범주형 변수 질문입니다.

21.01.27 16:20 작성 조회수 1.67k

0

안녕하세요! 항상 좋은 강의를 제공해주셔서 정말 감사드립니다. 

  다름이 아니라, 강의를 듣고 별도의 데이터로 실습을 해보고자, 타겟 변수(종속 변수)가 명목형 범주형 변수이고, 독립 변수(예측 변수)가 범주형 변수, 연속형 변수가 섞여져 있는 상황에서 분석 공부를 하다가 궁금한 점이 생겨 질문을 드리게 되었습니다. 

1) 독립 변수 중 범주형 변수 중에서, 명목 척도가 아닌 순서 척도를 활용해야 하는 상황인 경우, 원-핫 인코딩으로 진행을 하게 되면 '순서'의 정보를 잃게 되는데, 캐글에서는 ordinal encoding, mean encoding 혹은 target encoding 등을 자주 활용한다고 들었습니다.

  보통 분석에서 범주형 변수를 다룰 시, 명목 척도와 순서 척도를 구분하여 서로 다른 인코딩을 적용하는지, 아니면 구분하지 않고 하나의 인코딩을 적용하는지 알고 싶습니다.

2)스케일링에서,  범주형 변수를 인코딩한 후 값이 큰 연속형 변수와 같이 스케일링을 수행해도 되는 것인지, 아니면 스케일링을 연속형 변수에만 수행하는 것인지 알고 싶습니다.

3) corr() 함수는 보통 연속 변수 & 연속 변수 혹은 범주형 순서 척도 & 범주형 순서 척도에 대한 피어슨 상관 계수를 출력하는 것으로 알고 있는데,  binary가 아닌 범주형 명목 척도  & 연속형 변수, 그리고 범주형 순서 척도 & 연속형 변수에 대한 상관도는 어떻게 구하는지 알고 싶습니다.

항상 좋은 강의 감사드립니다.

답변 1

답변을 작성해보세요.

0

안녕하십니까,

말씀하신대로 Category encoding에 대해서는 Label/One-hot 말고도 다른 유형이 있습니다.

해당 주제로 Kaggle에서 competition까지 열린적도 있습니다.

참조하시면 좋은 자료들이 많이 있을 것입니다.

https://www.kaggle.com/c/cat-in-the-dat/code?competitionId=14999&sortBy=voteCount

1) 저도 순서 척도를 구분해서 Encoding을 적용해서 수행한 경험은 없습니다만, 앞의 Kaggle 사례에서도 알수 있듯이 보다 정교한 성능향상을 위해서는 기존의 카테고리 값에 대한 의미적인 특성을 살려서 적용하는 것이 더 나은 성능을 가져 올수 있다는 의견이 지배적입니다.

2) 경험적으로 스케일링은 연속형 변수에만 적용해도 무방합니다.

3) 이 부분은 저도 생각해 보질 못했는데, 검색을 해보니 Pearson 카이제곱 검증 기법을 활용합니다. 아래 URL에 보다 자세한 설명이 있으니 참조 부탁드립니다.

https://machinelearningmastery.com/chi-squared-test-for-machine-learning/

좋은 주제의 질문 주셔서 감사합니다. 참고해서 책 개정할 때 해당 내용을 추가해볼까 고민해 보겠습니다.