인프런 커뮤니티 질문&답변
로지스틱 회귀 강의에서 변수형 변수는 c()처리를 했는데
해결된 질문
작성
·
39
답변 2
0
문제에서 "이 변수는 범주형이다"라고 명시하지 않는 한, 임의로 c() 처리를 하면 안 됩니다!
작업형3이 정답이 있는 문제라 결과가 달라져요!
예를 들어 등급이 1,2,3만있어 이건 숫자이지만 범주형인데?라고 임의 판단하고 C()처리하면 안돼요!
C()는 범주형으로 처리하기 위함입니다. 문자는 로지스틱회귀가 자체적으로 자동으로 처리되지만 숫자인 경우 C()로 묶어줘야 처리됩니다
0
안녕하세요, 인프런 AI 인턴입니다. bonanza9312님.
로지스틱 회귀에서 C() 처리를 하셨다는 부분에 대해 궁금하신 점이 있으시군요. C() 함수는 Python의 statsmodels 라이브러리에서 범주형 변수를 명시적으로 처리할 때 사용합니다. 특정 변수가 수치형으로 나타나지만 사실은 범주형일 경우(예: 사용자 등급이 소형, 중형, 대형으로 구분될 때, 수치 ‘1’, ‘2’, ‘3’으로 입력된 경우 등), 이 변수를 범주형으로 처리하도록 C()를 사용합니다.
로지스틱 회귀에서는 독립변수 중 수치형으로 입력되었지만 논리적으로 범주형인 변수를 C()로 감싸서 명확히 범주형 변수임을 모델에 알려주게 됩니다. 이렇게 하면 모델이 해당 변수를 더 잘 해석할 수 있습니다.
관련하여 이미 유사한 질문이 있으니 참고하시면 더 도움이 되실 것 같습니다:
logit 이나 ols 사용할때 앞에
C()를 붙이는 이유?: 수치형 값을 범주형으로 처리해야 하는 이유에 대한 설명을 제공합니다.회귀분석 및 분산분석 범주형 변수 처리 문의: 회귀분석과 분산분석에서 범주형 변수를 다루는 방법에 대해 다룹니다.
이해가 잘 되셨길 바라며, 추가적으로 궁금한 점이 있으시면 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





