>  기사  >  백엔드 개발  >  Python의 다변수 선형 회귀 예제

Python의 다변수 선형 회귀 예제

王林
王林원래의
2023-06-10 13:57:151412검색

머신러닝 분야에서는 선형 회귀가 일반적으로 사용되는 방법입니다. 다변수 선형회귀는 하나 이상의 독립변수와 종속변수 사이의 선형 관계를 예측할 수 있는 방법으로, 일반적으로 부동산, 주가 등 시장 동향을 예측하는 데 사용됩니다.

Python은 배우고, 작성하고, 디버그하기 쉬운 매우 인기 있는 프로그래밍 언어입니다. Python에서는 Scikit-learn 라이브러리를 사용하여 다변수 선형 회귀 모델을 쉽게 구현할 수 있습니다.

이 기사에서는 주택 가격 예측의 예를 통해 Python의 다변수 선형 회귀를 소개합니다.

라이브러리 및 데이터 가져오기

다변수 선형 회귀 모델을 구현하려면 일부 Python 라이브러리를 가져와야 합니다.

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error

여기에 사용된 데이터는 Kaggle 웹사이트의 Boston 부동산 데이터 세트에서 가져온 것입니다. Pandas 라이브러리의 read_csv 함수를 사용하여 데이터 파일에서 데이터를 읽을 수 있습니다.

data = pd.read_csv('Boston.csv')

데이터 탐색 및 시각화

모델을 구축하기 전에 데이터를 탐색하여 각 특성의 분포와 특성 간의 관계를 이해해야 합니다. 관계.

Pandas 라이브러리의 explain 함수와 corr 함수를 사용하면 데이터의 특성 분포와 특성 간의 상관 관계를 이해할 수 있습니다. 그 중 corr 함수는 각 특성과 다른 특성 간의 상관계수 행렬을 반환합니다.

print(data.describe())
print(data.corr())

Matplotlib 라이브러리를 사용하여 데이터를 시각화할 수도 있습니다. 예를 들어, 두 가지 특성 사이에 산점도를 그립니다.

plt.scatter(data['RM'], data['Price'])
plt.title('House Price vs Number of Rooms')
plt.xlabel('Number of Rooms')
plt.ylabel('Price')
plt.show()

데이터 전처리 및 모델 훈련

다변량 선형 회귀 모델을 훈련하려면 데이터를 훈련 세트와 테스트 세트의 두 부분으로 분할해야 합니다. Scikit-learn 라이브러리의 train_test_split 함수를 사용하여 데이터 세트를 훈련 세트와 테스트 세트로 무작위로 나눌 수 있습니다.

X = data.drop(['Price'], axis=1)
y = data['Price']

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

다음으로 Scikit-learn 라이브러리의 LinearRegression 함수를 사용하여 다변수 선형 회귀를 초기화할 수 있습니다. 모델을 사용하고 모델에 맞는 훈련 세트 사용:

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

모델 평가 및 예측

모델 성능을 평가하기 위해 테스트 세트를 사용하여 주택 가격을 예측하고 평균 제곱 오차(MSE)를 사용하여 측정할 수 있습니다. 예측 결과와 결과 간의 실제 차이를 비교합니다. Scikit-learn 라이브러리의mean_squared_error 함수를 사용하여 예측 결과의 평균 분산을 계산할 수 있습니다.

y_pred = model.predict(X_test)
mse = mean_squared_error(y_test, y_pred)
print(mse)

평균 분산 값이 작으면 모델 예측 결과가 더 정확하다는 의미입니다.

마지막으로 모델을 사용하여 새 주택 가격을 예측할 수 있습니다. 예를 들어 방 6개, 욕실 2개가 있고 상업 지구에서 4.5마일 떨어진 집의 가격을 예측하려고 합니다. 이러한 특성의 값을 모델에 입력하고 모델의 예측 기능을 사용하여 집 가격을 예측할 수 있습니다.

new_data = np.array([[6, 2, 4.5, 0, 0.4, 6, 79, 6.1, 5, 331, 17, 385, 11.3]])
new_prediction = model.predict(new_data)
print(new_prediction)

이 집의 예상 가격은 약 $239,000입니다.

요약

이 기사에서는 Scikit-learn 라이브러리의 LinearRegression 함수를 사용하여 Python에서 다변수 선형 회귀 모델을 구현하는 방법을 소개했습니다. 보스턴 부동산 데이터 세트를 예로 사용하여 데이터 가져오기, 탐색, 시각화, 전처리, 모델 교육, 평가 및 예측 단계를 설명합니다. 이 기사가 독자들이 Python의 다변수 선형 회귀 방법을 더 잘 익히는 데 도움이 되기를 바랍니다.

위 내용은 Python의 다변수 선형 회귀 예제의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.