Python에서 statsmodels로 살펴보는 회귀 소개
Maarten Van den Broeck
Content Developer at DataCamp
| species | mass_g |
|---|---|
| Bream | 242.0 |
| Perch | 5.9 |
| Pike | 200.0 |
| Roach | 40.0 |
| ... | ... |
import matplotlib.pyplot as plt
import seaborn as sns
sns.displot(data=fish,
x="mass_g",
col="species",
col_wrap=2,
bins=9)
plt.show()

summary_stats = fish.groupby("species")["mass_g"].mean()
print(summary_stats)
species
Bream 617.828571
Perch 382.239286
Pike 718.705882
Roach 152.050000
Name: mass_g, dtype: float64
from statsmodels.formula.api import ols mdl_mass_vs_species = ols("mass_g ~ species", data=fish).fit()print(mdl_mass_vs_species.params)
Intercept 617.828571
species[T.Perch] -235.589286
species[T.Pike] 100.877311
species[T.Roach] -465.778571
이전 슬라이드의 절편 포함 모형
mdl_mass_vs_species = ols( "mass_g ~ species", data=fish).fit()print(mdl_mass_vs_species.params)
Intercept 617.828571
species[T.Perch] -235.589286
species[T.Pike] 100.877311
species[T.Roach] -465.778571
계수는 절편 대비 값입니다: $617.83 - 235.59 = 382.24!$
절편 없는 모형
mdl_mass_vs_species = ols( "mass_g ~ species + 0", data=fish).fit()print(mdl_mass_vs_species.params)
species[Bream] 617.828571
species[Perch] 382.239286
species[Pike] 718.705882
species[Roach] 152.050000
단일 범주형 변수의 경우, 계수는 평균입니다.
Python에서 statsmodels로 살펴보는 회귀 소개