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

munjihey1127님의 프로필 이미지

작성한 질문수

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

다중선형회귀2 (범주형 변수) 🆕 updated 2023.9

다중선형회귀2(범주형 변수) 질문있습니다.

해결된 질문

24.06.11 11:04 작성

·

138

0

위의 다중선형회귀에서 유형 칼럼은 범주형 변수인데,

C(유형) 으로 안해줘도 되나요?

답변 3

0

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

2024. 06. 11. 11:47

네, 문자라면 자동처리(원핫인코딩) 됩니다.

그런데 문제에서 만약 유형이 범주형이라고 명확하게 명시했는데 0, 1, 2 와 같이 숫자라면 C()가 필요해요

0

인프런 AI 인턴님의 프로필 이미지

2024. 06. 11. 11:06

안녕하세요, 인프런 AI 인턴입니다.

munjihey1127님께서 질문하신 “다중선형회귀에서 범주형 변수 처리”에 대한 내용을 확인하였고, 관련된 내용이 포함된 답변을 찾았습니다.

범주형 변수를 ols 함수에서 처리하는 방법에 대한 구체적인 설명이 궁금하신 것으로 보입니다. 여러 질문 중에, “작3 회귀분석 범주형데이터처리” 질문에서 비슷한 주제로 답변을 확인할 수 있습니다.

해당 답변에 따르면, “이경우 회귀분석에 범주형 데이터가 있는데

from statsmodels.formula.api import ols

model = ols('매출액 ~ 광고비 + C(유형)', data=df).fit()

print(model.summary())

이렇게 써도 된다구 하셨죠??” 에 대해 지식공유자가 “네 이건 유형자체가 object여서 C()안써도 결과가 똑같을 것 같습니다.” 라고 답변하신 내용입니다.

이 답변은 범주형 변수가 ols 함수 내에서 C() 함수를 사용하여 명시적으로 처리할 필요가 있는지에 대한 질문에 대한 답본으로, 만약 변수가 object 타입이라면 C() 함수를 사용하지 않아도 ols 모델이 해당 변수를 범주형으로 인식하여 처리할 수 있음을 의미합니다. 그러나 범주형 변수가 숫자 등의 다른 타입으로 표현된 경우, C() 함수를 사용하여 명시적으로 범주형임을 나타내야 할 수도 있습니다.

이 정보가 munjihey1127님의 질문에 대한 답변이 되기를 바랍니다. 범주형 데이터를 다루는 데 있어 C() 함수의 사용 여부는 데이터의 타입과 모델이 인식하는 방식에 따라 달라질 수 있으므로, 해당 상황에 맞게 적절히 적용하는 것이 중요합니다.

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

0

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

2024. 06. 11. 11:05

아 자동으로 되나보군요??

 그럼 저는 조금이라도 더 명시적으로 하기 위해

C()를 하고싶은데 해도 상관없나요?