原来机器学习这么简单—线性回归

发布于 2025-2-26 14:31
浏览
0收藏

一、什么是线性回归?

        线性回归 是一种基本但极为重要的监督学习算法,广泛用于预测连续数值型数据。其主要目标是通过分析已知数据点之间的关系,找出一个能够用来预测新数据点的函数模型。在最简单的情况下,线性回归尝试找到一条直线,这条直线能够最佳地通过数据点,并最小化预测值与实际值之间的差异。

原来机器学习这么简单—线性回归-AI.x社区

二、线性回归的原理

原来机器学习这么简单—线性回归-AI.x社区

原来机器学习这么简单—线性回归-AI.x社区

图1 1 维和 2 维输入特征的线性模型

原来机器学习这么简单—线性回归-AI.x社区

2.4 模型的评估

在得到模型后,我们需要评估其效果,常用的评估指标包括:

原来机器学习这么简单—线性回归-AI.x社区

  • 均方误差(MSE):衡量模型预测值与实际值之间的平均误差平方。

三、案例分析

        我们将使用加州房价数据集(California Housing Dataset),这是一个公开的机器学习数据集,包含加利福尼亚州各地区的房屋信息,包括房价、中位数收入、住房年龄等特征。我们将选择合适的特征来预测房价。

原来机器学习这么简单—线性回归-AI.x社区

1. 导入数据集和必要的库

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  # 解决坐标轴负号显示问题

# 加载加州房价数据集
california = fetch_california_housing()
data = pd.DataFrame(california.data, columns=california.feature_names)
data['MedHouseVal'] = california.target
data

2. 创建和训练线性回归模型

# 选择特征 'MedInc' 进行建模
X = data[['MedInc', 'HouseAge', 'AveRooms', 'AveOccup']]
y = data['MedHouseVal']

# 分割数据为训练集和测试集
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)

# 评估模型表现
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)

print(f"均方误差(MSE): {mse}")
print(f"决定系数(R^2): {r2}")

均方误差(MSE): 0.657451727882265

决定系数(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社区

四、总结

        线性回归通过简单的数学关系和优化方法,为我们提供了一个有效的工具来预测连续型数据。它不仅易于理解和实现,而且在实际应用中非常有效,是入门机器学习的理想算法之一。通过深入理解线性回归的原理和计算过程,我们可以更好地掌握机器学习的核心思想,并为更复杂的算法打下坚实的基础。

本文转载自​宝宝数模AI​,作者: BBSM ​​


收藏
回复
举报
回复
相关推荐