인프런 커뮤니티 질문&답변

gusmgl94님의 프로필 이미지
gusmgl94

작성한 질문수

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

예시문제 작업형3(신 버전)

작업형3 범주형 변수 인코딩

해결된 질문

작성

·

142

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개일 경우에는 동일한 결과가 나옵니다.

 

gusmgl94님의 프로필 이미지
gusmgl94
질문자

이해가 아직 잘안됩니다 ㅠㅠ

logit과 ols는 문자일 경우 자동으로 원핫인코딩 된다면 ,[예시문제 작업형3(신버전)]의 6:37 부분은 Gender는 왜 C로 감싸주신건가요?

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

결과 값은 같아요.

문자라 습관적으로 감싸서 그런 것 같네요!

gusmgl94님의 프로필 이미지
gusmgl94
질문자

아 그렇군요 알려주셔서 감사합니다~!

gusmgl94님의 프로필 이미지
gusmgl94

작성한 질문수

질문하기