[python] scikit-learn을 이용한 선형 회귀

scikit-learn은 파이썬에서 머신 러닝 및 데이터 분석을 위해 많이 사용되는 라이브러리입니다. 이번 포스트에서는 scikit-learn의 LinearRegression 모델을 이용하여 선형 회귀를 수행하는 방법에 대해 알아보겠습니다.

데이터 준비

선형 회귀 모델을 학습시키기 위해서는 먼저 데이터를 준비해야 합니다. 여기서는 간단한 예제로서 키와 몸무게 데이터를 사용하겠습니다. 키와 몸무게는 독립 변수로 사용되고, 몸무게는 종속 변수로 사용될 것입니다.

import numpy as np

# 키 데이터
height = np.array([150, 160, 170, 180, 190])
# 몸무게 데이터
weight = np.array([50, 55, 60, 65, 70])

# 데이터 형태 확인
print(height.shape)  # (5,)
print(weight.shape)  # (5,)

모델 학습

scikit-learn의 LinearRegression 모델을 사용하여 선형 회귀 모델을 학습시킬 수 있습니다. 모델 객체를 생성한 후 fit 메서드를 호출하여 학습을 진행합니다.

from sklearn.linear_model import LinearRegression

# LinearRegression 모델 객체 생성
model = LinearRegression()

# 학습
model.fit(height.reshape(-1, 1), weight)

# 학습 결과 확인
print(model.coef_)  # [1.5]
print(model.intercept_)  # -197.5

예측

학습이 완료된 선형 회귀 모델을 사용하여 새로운 데이터에 대한 예측을 수행할 수 있습니다. predict 메서드를 사용하여 예측 결과를 확인할 수 있습니다.

# 새로운 데이터 예측
new_height = np.array([160, 170, 180])
predicted_weight = model.predict(new_height.reshape(-1, 1))

print(predicted_weight)  # [52.5 67.5 82.5]

결론

scikit-learn을 이용하여 선형 회귀 모델을 학습하고 예측하는 방법에 대해 알아보았습니다. 선형 회귀 모델은 데이터의 경향성을 파악하고, 새로운 데이터에 대한 예측을 수행하는 데 유용합니다. scikit-learn은 다양한 머신 러닝 모델과 편리한 기능들을 제공하여 데이터 분석과 예측 모델링 작업을 수월하게 해줍니다.

더 자세한 정보는 scikit-learn의 공식 문서를 참고하시기 바랍니다.