본문 바로가기
데이터 분석 도전기

파이썬 머신러닝 시리즈 3편: 선형 회귀 분석

by 프로 탈출러 2023. 6. 19.
반응형
파이썬 머신러닝 시리즈 3편: 선형 회귀 분석

파이썬 머신러닝 시리즈 3편: 선형 회귀 분석

안녕하세요, 여러분! "파이썬 머신러닝 시리즈"의 세 번째 편에서는 지도학습의 대표적인 방법 중 하나인 선형 회귀 분석에 대해 알아보겠습니다.

선형 회귀 분석이란?

선형 회귀 분석은 통계학에서 비롯된 방법으로, 두 변수 사이의 관계를 선형 함수로 모델링하는 방법입니다. 주어진 데이터를 통해 선형 함수의 계수를 추정하며, 이를 통해 새로운 입력 데이터에 대한 출력 데이터를 예측합니다.

예를 들어, 광고 지출과 판매량 사이의 관계를 분석하는 것이 선형 회귀 분석의 한 예입니다. 광고 지출이 증가함에 따라 판매량이 어떻게 변하는지 알아보기 위해 선형 회귀 모델을 사용할 수 있습니다.

선형 회귀의 기본 가정

선형 회귀 분석은 몇 가지 기본 가정을 전제로 합니다. 이러한 가정들이 성립하지 않으면, 선형 회귀 모델의 성능이 떨어질 수 있습니다.

  • 선형성: 독립 변수와 종속 변수 사이에는 선형 관계가 있다는 가정입니다.
  • 독립성: 오차 항은 서로 독립적이라는 가정입니다. 이는 관측치 간의 오차가 서로 연관되어 있지 않다는 것을 의미합니다.
  • 등분산성: 오차의 분산이 독립 변수의 모든 값에 대해 동일하다는 가정입니다.
  • 정상성: 오차는 정규 분포를 따른다는 가정입니다.

선형 회귀의 실제 적용

선형 회귀 분석은 실제로 많은 분야에서 널리 사용됩니다. 예를 들어, 경제학에서는 선형 회귀 분석을 통해 경제 지표들 사이의 관계를 파악하고 경제의 향방을 예측하기도 합니다. 또한, 마케팅 분야에서는 광고 효과를 분석하고, 고객 행동을 예측하는 데 사용되기도 합니다.

파이썬을 이용한 선형 회귀 분석

파이썬에서는 scikit-learn 라이브러리를 이용해 선형 회귀 모델을 쉽게 학습하고 예측을 수행할 수 있습니다.

먼저 필요한 라이브러리를 불러옵니다.

from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn import metrics

이제 데이터를 불러옵니다. 이번에는 보스턴 주택 가격 데이터를 이용하겠습니다.

from sklearn.datasets import load_boston
boston = load_boston()
X = boston.data
y = boston.target

이제 학습 데이터와 테스트 데이터를 분리합니다.

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

선형 회귀 모델을 학습합니다.

model = LinearRegression()
model.fit(X_train, y_train)

이제 테스트 데이터에 대해 예측을 수행하고, 모델의 성능을 평가합니다.

y_pred = model.predict(X_test)
print('Mean Squared Error:', metrics.mean_squared_error(y_test, y_pred))

여기서 Mean Squared Error(MSE)는 모델의 예측 값과 실제 값의 차이를 제곱하여 평균한 값입니다. 값이 작을수록 모델의 성능이 좋다고 판단할 수 있습니다.

마치며

오늘은 선형 회귀 분석에 대해 알아보았습니다. 선형 회귀 분석의 기본 가정과 파이썬을 이용한 실제 적용 방법에 대해 배워보았습니다. 다음 시리즈에서는 또 다른 지도학습 알고리즘인 로지스틱 회귀에 대해 알아보도록 하겠습니다. 기대해주세요!

반응형
LIST