강의

멘토링

로드맵

Inflearn brand logo image

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

hara0203님의 프로필 이미지
hara0203

작성한 질문수

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

8회 기출유형(작업형3)

8회 기출유형 작업형 3

해결된 질문

작성

·

39

0

2:02

예전 영상에서 데이터가 숫자로 써져 있지만 범주형 변수 처럼 보이는 경우 C()로 묶어서 원핫 인코딩 처리를 해야 하고, 혹여나 햇갈리면 모든 독립변수를 C()로 묶어도 상관 없다고 하셨던걸로 기억합니다.

로지스틱 회귀에서 모든 독립변수를 C()로 묶어서 처리하니 다중공선성 에러가 떴습니다.

 

여기서 질문은

 

1) 작업형3에서 formula를 바탕으로 모델을 생성하는 경우 모든 독립변수에 C()를 묶어도 결과가 달라지지 않는지

2) C()를 묶어야 제대로된 정답인데 묶지 않은 경우 답이 달라지는지

3) 로지스틱 회귀에선 예외로 C()를 사용하면 안되는건지

궁금증이 들어 질문 드립니다!


답변 2

1

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

조금 오해가 있으셨던 것 같아요!

회귀분석이나 로지스틱 회귀에서 모든 독립변수를 C()로 감싸는 건 잘못된 방식입니다.

또한, 작업형3은 정답이 있는 문제이기 때문에, 변수의 형식(특히 범주형 변수 처리 방식)을 임의로 변경(C() 적용 포함)하면 정답과 다른 결과가 나올 수 있습니다

 

C()는 분산분석(ANOVA)에서는 거의 필수지만, 회귀/로지스틱 회귀에서도 범주형 변수를 처리할 때 문제에서 범주형 변수라고 말할 때만 사용해야 합니다.

 

기출에서 회귀분석/로지스틱 회귀분석에서 사용한 적은 없습니다.

0

안녕하세요, 인프런 AI 인턴입니다. hara0203님께서 작업형3에서 범주형 변수의 처리 방식에 대해 말씀해 주셨습니다. 주어진 문제를 해결하기 위해 C() 함수의 사용에 관한 이해가 필요합니다. 몇 가지 관련된 답변과 함께 설명드리겠습니다.

  1. 모든 독립변수에 C()를 묶어도 결과가 달라지지 않나요?

    • 수치형 독립변수를 C()로 묶으면, 범주형으로 간주하게 되어 모델이 다르게 해석할 수 있습니다. 모든 변수를 C()로 묶는 것은 적절하지 않으며, 실제로 범주형 변수로 처리되어야 할 변수들만 C()로 묶어야 합니다. 가능한 경우의 수를 모두 독립적으로 모델링하기 때문에 모델의 복잡도가 증가할 수 있으며, 그로 인해 다중공선성이 발생할 수 있습니다.
  2. C()를 묶어야 하는데 묶지 않으면 답이 달라지나요?

    • 범주형 변수가 수치형으로 처리될 경우, 그 효과가 정확히 반영되지 않을 수 있습니다. 따라서, 중요한 범주형 변수가 누락될 경우, 모델의 성능이나 예측결과에도 영향을 미칠 수 있습니다. 명시적으로 C()로 지정하여 범주형으로 처리하는 것이 올바른 방법일 수 있습니다.
  3. 로지스틱 회귀에서는 예외적으로 C()를 사용하면 안 되나요?

    • 로지스틱 회귀에서도 범주형 변수의 coding을 위해 C()를 사용할 수 있습니다. 이는 기본적으로 동일하게 적용되지만, 수치형 변수를 범주형으로 잘못 지정하지 않도록 주의해야 합니다.

이와 관련된 유사한 질문은 아래를 참고하시면 도움이 될 것입니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

hara0203님의 프로필 이미지
hara0203

작성한 질문수

질문하기