두 변수의 이야기

Python에서 statsmodels로 살펴보는 회귀 소개

Maarten Van den Broeck

Content Developer at DataCamp

스웨덴 자동차 보험 데이터

  • 각 행은 스웨덴의 하나의 지역을 나타냅니다.
  • 총 63개의 행이 있습니다.
n_claims total_payment_sek
108 392.5
19 46.2
13 15.7
124 422.2
40 119.4
... ...
Python에서 statsmodels로 살펴보는 회귀 소개

기술 통계

import pandas as pd
print(swedish_motor_insurance.mean())
n_claims             22.904762
total_payment_sek    98.187302
dtype: float64
print(swedish_motor_insurance['n_claims'].corr(swedish_motor_insurance['total_payment_sek']))
0.9128782350234068
Python에서 statsmodels로 살펴보는 회귀 소개

회귀란 무엇인가?

  • 반응 변수와 설명 변수 간의 관계를 탐색하는 통계 모델입니다.
  • 설명 변수의 값이 주어지면 반응 변수의 값을 예측할 수 있습니다.
n_claims total_payment_sek
108 3925
19 462
13 157
124 4222
40 1194
200 ???
Python에서 statsmodels로 살펴보는 회귀 소개

용어 정리

반응 변수 (종속 변수)

예측하고자 하는 변수.

설명 변수 (독립 변수)

반응 변수의 변화를 설명하는 변수.

Python에서 statsmodels로 살펴보는 회귀 소개

선형 회귀와 로지스틱 회귀

선형 회귀

  • 반응 변수는 수치형입니다.

로지스틱 회귀

  • 반응 변수는 논리형입니다.

단순 선형/로지스틱 회귀

  • 설명 변수가 하나입니다.
Python에서 statsmodels로 살펴보는 회귀 소개

변수 쌍 시각화

import matplotlib.pyplot as plt
import seaborn as sns

sns.scatterplot(x="n_claims",
                y="total_payment_sek",    
                data=swedish_motor_insurance)

plt.show()

청구 건수에 따른 총 지급액 산점도. 청구 건수가 증가할수록 지급액도 증가합니다.

Python에서 statsmodels로 살펴보는 회귀 소개

선형 추세선 추가

sns.regplot(x="n_claims",
            y="total_payment_sek",
            data=swedish_motor_insurance,
            ci=None)

이전 산점도에 선형 회귀로 계산된 추세선이 추가된 그래프. 데이터에 잘 맞는 것을 확인할 수 있습니다.

Python에서 statsmodels로 살펴보는 회귀 소개

코스 구성

1장

선형 회귀 모델 시각화 및 적합.

2장

선형 회귀 모델로 예측하기 및 모델 계수 이해.

3장

선형 회귀 모델의 품질 평가.

4장

로지스틱 회귀 모델로 동일한 내용 학습

Python에서 statsmodels로 살펴보는 회귀 소개

회귀 분석을 위한 Python 패키지

statsmodels

  • 인사이트 도출에 최적화 (본 코스의 중점)

scikit-learn

  • 예측에 최적화 (다른 DataCamp 코스의 중점)
Python에서 statsmodels로 살펴보는 회귀 소개

연습해 봅시다!

Python에서 statsmodels로 살펴보는 회귀 소개

Preparing Video For Download...