본문 바로가기

데이터마이닝

다중회귀분석 python 코드 구현

728x90

다중 회귀분석을 구현하기 위해 seaborn의 tips 데이터셋을 사용하는 것은 흥미로운 방법입니다. 이 분석을 수행하기 위해 pandas, seaborn, 그리고 statsmodels 라이브러리를 사용할 것입니다.

 

import pandas as pd
import seaborn as sns
import statsmodels.api as sm

# 데이터셋 로드
tips = sns.load_dataset('tips')

# 범주형 변수를 위한 원-핫 인코딩 처리
tips_encoded = pd.get_dummies(tips, columns=['sex', 'smoker', 'day', 'time'], drop_first=True)

# 종속 변수와 독립 변수 선택
X = tips_encoded.drop('tip', axis=1)  # 'tip'을 제외한 모든 컬럼을 독립 변수로 사용
y = tips_encoded['tip']  # 종속 변수

# 상수항 추가
X = sm.add_constant(X)

# 다중 회귀분석 모델 생성 및 적합
model = sm.OLS(y, X).fit()

# 모델 요약 정보 출력
model_summary = model.summary()
print(model_summary)

 

이 코드는 다음과 같은 단계를 거칩니다.

  • tips 데이터셋을 로드하고 범주형 변수를 원-핫 인코딩으로 처리하여 수치형 변수로 변환합니다.
  • 종속 변수(tip)와 독립 변수를 분리하고, 독립 변수에 상수항을 추가합니다.
  • statsmodels의 OLS (Ordinary Least Squares) 클래스를 사용하여 다중 회귀분석 모델을 생성하고 적합시킵니다.
  • summary() 메소드를 사용하여 모델의 성능을 평가합니다.