선형 회귀 적합

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

Maarten Van den Broeck

Content Developer at DataCamp

직선은 두 가지로 정의됩니다

절편

$x$가 0일 때의 $y$ 값.

기울기

$x$를 1 증가시킬 때 $y$가 늘어나는 양.

방정식

$y = \text{intercept} + \text{slope} * x$

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

절편 추정

총 지급액 대 청구 건수 산점도와 선형 추세선. 청구 건수가 늘수록 지급액이 선형적으로 증가함.

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

절편 추정

총 지급액 대 청구 건수 산점도. 추세선이 y축과 만나는 점을 표시.

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

절편 추정

총 지급액 대 청구 건수 산점도. 청구 건수가 0일 때의 값을 표시.

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

기울기 추정

총 지급액 대 청구 건수 산점도. 추세선 위 두 점 표시: 1500크로나·40건, 3500크로나·100건.

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

기울기 추정

총 지급액 대 청구 건수 산점도. 두 점의 지급액 차이를 표시: 3500크로나 − 1500크로나 = 2000크로나.

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

기울기 추정

총 지급액 대 청구 건수 산점도. 두 점의 청구 건수 차이를 표시: 100건 − 40건 = 60건.

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

기울기 추정

총 지급액 대 청구 건수 산점도. 차이의 비율 표시: 2000 ÷ 60 ≈ 33.

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

모델 실행

from statsmodels.formula.api import ols

mdl_payment_vs_claims = ols("total_payment_sek ~ n_claims", data=swedish_motor_insurance)
mdl_payment_vs_claims = mdl_payment_vs_claims.fit()
print(mdl_payment_vs_claims.params)
Intercept    19.994486
n_claims      3.413824
dtype: float64
Python에서 statsmodels로 살펴보는 회귀 소개

계수 해석

Intercept    19.994486
n_claims      3.413824
dtype: float64

방정식

$\text{total\_payment\_sek} = 19.99 + 3.41 * \text{n\_claims}$

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

연습해 봅시다!

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

Preparing Video For Download...