해결된 질문
작성
·
126
0
안녕하세요 선생님,
작업형3 범주형 변수 인코딩 질문드립니다.
[예시문제 작업형3(신버전)]의 6:37 부분을 보면 Gender는 인코딩이 되지않아서 C로 감싸주시더라구요.
근데 [시험응시전략] 강의에서는 '회귀, 로지스틱 회귀에서 숫자이지만, 범주형 변수로 명시된 것이 있다면 C()로 감싸서 처리할 것, 범주형 변수 object 값이 문자로 있다면 알아서 바꿔준다'라고 말씀하셨어요.
이부분이 헷갈립니다.
1) [시험응시전략]에서 말씀대로라면 [예시문제 작업형3]의 Gender는 C 처리할 필요없이, 알아서 바뀌는게 아닌가요?
2) 캐글에 T3-2-example-py 을 보면, 여기서는 gender를 C로 감싸서 인코딩 해주지 않으셨더라구요. 기준이 헷갈립니다.
답변 1
0
정리해드리면
작업형3에선 사용하는 logit과 ols는 문자일 경우 자동으로 원핫인코딩 됩니다. C()가 필요 없어요!
단, 문제에서 숫자 데이터이지만 범주형이라고 했다면 C()가 명시가 필요합니다. 숫자로 되어 있기 때문에 연속형이라 판단하거든요 (자동으로 인코딩 되지 않아요)
여기서 범주값이 3개이상일 때는 숫자 데이터에 C()를 붙이면 결과가 달라지고 2개일 경우에는 동일한 결과가 나옵니다.
이해가 아직 잘안됩니다 ㅠㅠ
logit과 ols는 문자일 경우 자동으로 원핫인코딩 된다면 ,[예시문제 작업형3(신버전)]의 6:37 부분은 Gender는 왜 C로 감싸주신건가요?