해결된 질문
작성
·
81
·
수정됨
0
formula 를 작성할때 C 를 감싸는 경우는 문자값이지만 수치형일 경우 감싸는 사항아닌가요? C 를 붙이는지 안붙이는지에 따라서 결과값이 달라지네요.
아래 Pclass 는 수치형인데 C 가 붙혀져서 질문드려 봅니다.
import pandas as pd
from statsmodels.formula.api import logit
df = pd.read_csv("/kaggle/input/bigdatacertificationkr/Titanic.csv")
formula = "Survived ~ C(Pclass) + Gender + SibSp + Parch"
model = logit(formula, data=df).fit()
model.params
답변 1
0
문자값이지만 수치형일 경우 감싸는 사항아닌가요?
문자값이지만 수치형일 경우라는 것이 무슨말일까요?
C()에 대해 정리하면
범주형 데이터 : C()를 사용하지 않더라도 자동으로 원핫인코딩 처리 합니다.
연속형 데이터 : 데이터는 숫자이지만 범주형이라고 만약 문제에 명시가 되었다면 별도 처리가 필요해요. 이 때 C() 로 감사주면 됩니다.
제가 설명을 잘못했거나, 잘못 이해하셨어요!
1,2,3은 object 데이터일 가능성은 거의 없습니다.
int또는 float이겠지요~
이때 문제에서 숫자이지만 범주형이라고 만약 명시 한다면 C()로 처리해주세요 🙂
수치형이지만 오브젝트형 인 경우를 말씀드렸어요. 1,2,3인데 오브젝트인 경우입니다. 그 경우에 C로 감싸야한다고 들었는데요.
Pclass 타입이 Int 인 경우에도 C로 감싸게 정답이 되어있어서 어떠한 경우인지 질문드러 봅니다.