線性迴歸的實例:預測連續變數的方法

PHPz
發布: 2024-01-22 16:18:22
轉載
995 人瀏覽過

線性迴歸是一種常用的機器學習演算法,用於預測一個連續變數與一個或多個自變數之間的線性關係。本文將介紹線性迴歸的工作原理,並透過一個實例和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中文網其他相關文章!

來源:163.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!