偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

原來機器學習這么簡單—線性回歸

發(fā)布于 2025-2-26 14:31
瀏覽
0收藏

一、什么是線性回歸?

        線性回歸 是一種基本但極為重要的監(jiān)督學習算法,廣泛用于預測連續(xù)數(shù)值型數(shù)據(jù)。其主要目標是通過分析已知數(shù)據(jù)點之間的關系,找出一個能夠用來預測新數(shù)據(jù)點的函數(shù)模型。在最簡單的情況下,線性回歸嘗試找到一條直線,這條直線能夠最佳地通過數(shù)據(jù)點,并最小化預測值與實際值之間的差異。

原來機器學習這么簡單—線性回歸-AI.x社區(qū)

二、線性回歸的原理

原來機器學習這么簡單—線性回歸-AI.x社區(qū)

原來機器學習這么簡單—線性回歸-AI.x社區(qū)

圖1 1 維和 2 維輸入特征的線性模型

原來機器學習這么簡單—線性回歸-AI.x社區(qū)

2.4 模型的評估

在得到模型后,我們需要評估其效果,常用的評估指標包括:

原來機器學習這么簡單—線性回歸-AI.x社區(qū)

  • 均方誤差(MSE):衡量模型預測值與實際值之間的平均誤差平方。

三、案例分析

        我們將使用加州房價數(shù)據(jù)集(California Housing Dataset),這是一個公開的機器學習數(shù)據(jù)集,包含加利福尼亞州各地區(qū)的房屋信息,包括房價、中位數(shù)收入、住房年齡等特征。我們將選擇合適的特征來預測房價。

原來機器學習這么簡單—線性回歸-AI.x社區(qū)

1. 導入數(shù)據(jù)集和必要的庫

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

# 設置字體,解決中文顯示問題
plt.rcParams['font.sans-serif'] = ['SimHei']  # 使用黑體字體顯示中文
plt.rcParams['axes.unicode_minus'] = False  # 解決坐標軸負號顯示問題

# 加載加州房價數(shù)據(jù)集
california = fetch_california_housing()
data = pd.DataFrame(california.data, columns=california.feature_names)
data['MedHouseVal'] = california.target
data

2. 創(chuàng)建和訓練線性回歸模型

# 選擇特征 'MedInc' 進行建模
X = data[['MedInc', 'HouseAge', 'AveRooms', 'AveOccup']]
y = data['MedHouseVal']

# 分割數(shù)據(jù)為訓練集和測試集
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)

3. 模型預測和評估

# 使用測試集進行預測
y_pred = model.predict(X_test)

# 評估模型表現(xiàn)
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)

print(f"均方誤差(MSE): {mse}")
print(f"決定系數(shù)(R^2): {r2}")

均方誤差(MSE): 0.657451727882265

決定系數(shù)(R^2): 0.49828508595474374

4. 結果可視化

# 可視化預測值與實際值的比較
plt.figure(figsize=(10, 6))
plt.scatter(y_test, y_pred, alpha=0.5, label="預測值 vs 實際值")
plt.plot([y_test.min(), y_test.max()], [y_test.min(), y_test.max()], 'r--', lw=2, label="理想的直線 $y = x$")
plt.xlabel("實際房價")
plt.ylabel("預測房價")
plt.title("實際房價 vs 預測房價")
plt.legend()
plt.show()

原來機器學習這么簡單—線性回歸-AI.x社區(qū)

四、總結

        線性回歸通過簡單的數(shù)學關系和優(yōu)化方法,為我們提供了一個有效的工具來預測連續(xù)型數(shù)據(jù)。它不僅易于理解和實現(xiàn),而且在實際應用中非常有效,是入門機器學習的理想算法之一。通過深入理解線性回歸的原理和計算過程,我們可以更好地掌握機器學習的核心思想,并為更復雜的算法打下堅實的基礎。

本文轉載自??寶寶數(shù)模AI??,作者: BBSM ????


收藏
回復
舉報
回復
相關推薦