inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

회귀 분석 (범주형 변수)

해결된 질문

187

빅분기수강생

작성한 질문수 22

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( )로 커버할 수 없는 게 있어서 그런건지 궁금합니다.

답변 부탁드립니다.

 

 

 

 

 

 

 

 

python 머신러닝 빅데이터 pandas 빅데이터분석기사

답변 1

0

퇴근후딴짓

C() 로처리 하면됩니다. 범주가 3개일 때 결과에서 2개만 나타나다 보니

그 과정을 pd.get_dummies(drop_first=True)로 설명했어요~

질문 드립니다.

0

38

2

강의 내용 관련 질문드립니다~

0

35

2

수강 연장 문의

0

33

1

강의자료 일괄 다운로드

0

43

2

수강기간 연장 문의드립니다

0

29

1

list 문제 질문드립니다~

0

31

2

빅분기 실기 12회 재도전

0

40

1

강의 기간 연장 가능여부 검토 요청건

0

30

1

수강기간 연장 문의 드립니다

0

36

2

수강기간 연장 문의드립니다

0

47

2

질문이요

0

51

2

수강기간 연장 문의드립니다.

0

50

2

문제 3-2 질문드립니다

0

44

2

수강기간 연장 문의 드립니다.

0

58

2

변수, 칼럼 , df 구분

0

50

2

수강기간 연장 문의드립니다.

0

50

2

수강기간 연장 문의

0

48

2

수강기간 연장 문의드립니다.

0

42

2

수강기한 연장 문의

0

80

2

수강기간 연장 문의드립니다

0

57

2

결정트리에서 적절한 깊이 선택 후 시각화 과정에서 학습 데이터만 사용하는 이유

0

45

2

수강기간 연장 문의드립니다.

0

71

2

수강연장 문의

0

77

2

수강연장문의

0

53

2