해결된 질문
작성
·
117
0
강의 복습하면서 한번 더 정리하면서 외워가는 중입니다.
섹션 8 강의에서 범주형 변수는
판다스의 pd.get_dummies(drop_first=True)로 원핫인코딩 처리
한다고 강의하셨습니다.
해당 강의 복습하다 보니, 섹션 10 작업형 3번 문제풀이 하면서
범주형 변수에 C( ) 씌워서 summary 하신게 생각났고
섹션 8 강의의 범주형 변수 부분에다 한번 시도해봤습니다
import pandas as pd
df = pd.DataFrame({
'매출액': [300, 320, 250, 360, 315, 328, 310, 335, 326, 280,
290, 300, 315, 328, 310, 335, 300, 400, 500, 600],
'광고비': [70, 75, 30, 80, 72, 77, 70, 82, 70, 80,
68, 90, 72, 77, 70, 82, 40, 20, 75, 80],
'플랫폼': [15, 16, 14, 20, 19, 17, 16, 19, 15, 20,
14, 5, 16, 17, 16, 14, 30, 40, 10, 50],
'투자':[100, 0, 200, 0, 10, 0, 5, 0, 20, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
'유형':['B','B','C','A','B','B','B','B','B','B'
,'C','B','B','B','B','B','B','A','A','A']
})
from statsmodels.formula.api import ols
model = ols("매출액 ~ 광고비 + C(유형)", data=df).fit()
print(model.summary())
그러고 둘다 확인해보니
OLS Regression Results 결과 수치별로 비교해봤는데 같더라고요.
그럼 범주형 변수에 그냥 C( ) 씌워서 하는게 코딩이 더 간편할 거 같은데
pd.get_dummies(drop_first=True)를 사용해야 하는 뭔가 다른 이유, 혹은 C( )로 커버할 수 없는 게 있어서 그런건지 궁금합니다.
답변 부탁드립니다.
답변 1
0