선형 회귀는 연속 변수와 하나 이상의 독립 변수 간의 선형 관계를 예측하는 데 일반적으로 사용되는 기계 학습 알고리즘입니다. 이 기사에서는 선형 회귀의 작동 방식을 소개하고 예제와 Python 코드를 통해 예측 프로세스를 보여줍니다.
선형 회귀는 일련의 독립 변수(또는 특성)를 통해 연속 변수의 값을 예측하는 지도 학습 알고리즘입니다. 단순 선형 회귀에서는 단 하나의 독립 변수만이 종속 변수의 값을 예측하고, 다중 선형 회귀에서는 종속 변수의 값을 예측하는 여러 개의 독립 변수가 있습니다. 이 알고리즘을 사용하면 주택 가격, 매매 등 연속변수의 값을 예측할 수 있습니다. 선형 회귀는 가장 적합한 선을 찾아 종속 변수에 대한 예측과 설명을 제공할 수 있습니다.
선형 회귀의 기본 아이디어는 가장 적합한 직선을 찾아 예측 값과 실제 값 사이의 오류를 최소화하는 것입니다. 직선은 y=mx+b의 형태로 표현될 수 있는데, 여기서 y는 종속변수, x는 독립변수, m은 기울기, b는 절편을 나타냅니다.
가장 잘 맞는 직선을 찾기 위해 최소 제곱법을 사용합니다. 이 방법의 핵심 아이디어는 모든 데이터 포인트의 직선까지의 거리의 합을 최소화하는 직선을 찾는 것입니다.
이제 특정 도시의 주택 면적과 가격을 나타내는 데이터 세트가 있다고 가정해 보겠습니다. 우리는 선형 회귀를 사용하여 주택 면적의 가격을 예측하려고 합니다. 집의 면적을 독립변수 x로, 가격을 종속변수 y로 사용할 수 있습니다.
먼저 필요한 라이브러리와 데이터를 가져와야 합니다.
import numpy as np import matplotlib.pyplot as plt # 数据 x = np.array([70, 80, 100, 120, 150, 180, 200]) y = np.array([320, 360, 420, 480, 600, 720, 800])
다음으로 데이터의 산점도를 그릴 수 있습니다.
plt.scatter(x, y) plt.xlabel('房屋面积(平方米)') plt.ylabel('价格(万元)') plt.show()
산점도, 집 면적 및 가격 그들 사이에는 일정한 선형 관계가 있습니다. 이제 선형 회귀를 사용하여 데이터를 맞추고 평방 피트로 새 주택 가격을 예측할 수 있습니다.
from sklearn.linear_model import LinearRegression # 创建线性回归模型 model = LinearRegression() # 训练模型 model.fit(x.reshape(-1, 1), y) # 预测房屋面积为120平方米的价格 new_x = np.array([120]) predicted_y = model.predict(new_x.reshape(-1, 1)) print(predicted_y) # 输出 [452.85714286]
우리는 Scikit-learn 라이브러리의 LinearRegression 모델을 사용하여 선형 회귀 모델을 만들고 훈련 데이터를 사용하여 훈련합니다. 그리고 이 모델을 이용하여 면적 120제곱미터의 새 집 가격을 예측했는데, 예측 결과는 452,857위안이었습니다.
마지막으로 피팅 직선과 예측 결과를 그릴 수 있습니다.
# 绘制拟合直线 line_x = np.linspace(50, 220, 100) line_y = model.predict(line_x.reshape(-1, 1)) plt.plot(line_x, line_y, color='r') #绘制预测结果 plt.scatter(new_x, predicted_y, color='g') # 绘制原始数据 plt.scatter(x, y) # 添加标签和标题 plt.xlabel('房屋面积(平方米)') plt.ylabel('价格(万元)') plt.title('房屋面积与价格的线性关系') plt.show()
위 그림에서 볼 수 있듯이 피팅 직선이 데이터와 잘 들어맞고 예측 결과도 비교적 정확합니다.
이 글에서는 선형 회귀의 작동 원리를 소개하고 실제 예제를 통해 선형 회귀 예측에 Python을 사용하는 방법을 보여줍니다. 선형 회귀는 주택 가격 예측, 판매 예측 등과 같은 많은 실제 문제를 해결하는 데 사용할 수 있는 간단하지만 효과적인 기계 학습 알고리즘입니다. 실제 적용에서는 특정 문제에 따라 적절한 기능과 모델을 선택하고 더 나은 예측 결과를 얻기 위해 데이터 전처리 및 모델 최적화를 수행해야 합니다.
위 내용은 선형 회귀의 예: 연속 변수를 예측하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!