【机器学习】什么是线性回归?

什么是线性回归?

线性回归是一种 监督学习算法 ,它通过拟合一个直线(或平面,高维空间下是超平面)来建立 输入特征输出目标 之间的关系。简单来说,线性回归就是找出一个数学方程(通常是线性方程),它能够预测一个数值结果。

  • 输入特征 是你给模型的信息,它们用于帮助模型做出决策或预测。
  • 输出目标 是你希望模型预测或解释的结果。

通俗易懂的例子:

假设你有一个简单的数据集,想要预测某个城市的房价。你知道一些关于这个城市的 房子面积房价 的信息。你希望通过这些数据来预测一个新房子的价格。

例如,已知一些数据:

  • 房子面积:50平方米,100平方米,150平方米
  • 对应房价:150万元,300万元,450万元

你可以通过线性回归找出面积和房价之间的关系。通过简单的计算,线性回归会帮助你找到一个线性方程:房价 = 3 * 面积,即每平方米的价格是 3 万元。

数学上:

线性回归的目标是找到一个公式:

y = mx + b

其中:

  • y 是我们要预测的值(房价)。
  • x 是输入特征(房子面积)。
  • m 是斜率(表示每增加一个单位的面积,房价增加多少)。
  • b 是截距(即当面积为 0 时的房价,通常可以理解为固定成本)。

例子:用 Python 实现线性回归

下面的代码演示了如何使用 Python 中的 Scikit-learn 库来进行线性回归分析。

python 复制代码
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from matplotlib import rcParams

# 设置字体为支持中文的字体
rcParams['font.family'] = 'SimHei'
rcParams['axes.unicode_minus'] = False

# 准备数据
# 这里是房子的面积 (平方米)
X = np.array([[50], [100], [150], [200], [250]])
# 这里是对应的房价 (万元)
y = np.array([150, 300, 450, 600, 750])

# 创建线性回归模型
model = LinearRegression()

# 用数据训练模型
model.fit(X, y)

# 打印出模型的斜率 (m) 和截距 (b)
print(f"斜率 m: {model.coef_[0]}")
print(f"截距 b: {model.intercept_}")

# 使用训练好的模型预测房价
new_area = np.array([[120]])  # 假设新房子的面积是 120 平方米
predicted_price = model.predict(new_area)
print(f"预测的房价为:{predicted_price[0]} 万元")

# 可视化数据点和拟合的直线
plt.scatter(X, y, color='blue')  # 绘制原始数据点
plt.plot(X, model.predict(X), color='red')  # 绘制拟合的直线
plt.xlabel("房子面积 (平方米)")
plt.ylabel("房价 (万元)")
plt.title("线性回归:房价与面积的关系")
plt.show()

代码解释:

  1. 数据准备:X 是房子的面积(单位:平方米),y 是对应的房价(单位:万元)。
  2. 创建模型:我们使用 LinearRegression来创建一个线性回归模型。
  3. 训练模型:model.fit(X, y) 通过输入数据训练模型,找到最佳拟合直线。
  4. 查看模型参数:model.coef_ 是斜率 ( m ),model.intercept_ 是截距 b 。
  5. 预测:给定一个新的房子面积(比如 120 平方米),模型会预测出它的房价。
  6. 可视化:使用 matplotlib 绘制出数据点和拟合的直线,帮助我们更直观地理解。

运行结果

python 复制代码
斜率 m: 3.0
截距 b: 0.0
预测的房价为:360.0 万元

结果分析

  • 模型发现每平方米的房价是 3 万元(斜率 ( m = 3 ))。
  • 当房子的面积为 120 平方米时,预测房价为 360 万元。

通过这种方式,线性回归帮助我们找到了房价和面积之间的关系,进而可以预测其他房子的价格。

总结:

线性回归是一种简单而强大的方法,用于预测数值型结果。通过拟合数据点并找到最佳的线性关系,我们可以预测新数据的结果。

相关推荐
水如烟30 分钟前
孤能子视角:“组织行为学–组织文化“
人工智能
大山同学33 分钟前
图片补全-Context Encoder
人工智能·机器学习·计算机视觉
薛定谔的猫19821 小时前
十七、用 GPT2 中文对联模型实现经典上联自动对下联:
人工智能·深度学习·gpt2·大模型 训练 调优
壮Sir不壮1 小时前
2026年奇点:Clawdbot引爆个人AI代理
人工智能·ai·大模型·claude·clawdbot·moltbot·openclaw
PaperRed ai写作降重助手1 小时前
高性价比 AI 论文写作软件推荐:2026 年预算友好型
人工智能·aigc·论文·写作·ai写作·智能降重
玉梅小洋1 小时前
Claude Code 从入门到精通(七):Sub Agent 与 Skill 终极PK
人工智能·ai·大模型·ai编程·claude·ai工具
-嘟囔着拯救世界-1 小时前
【保姆级教程】Win11 下从零部署 Claude Code:本地环境配置 + VSCode 可视化界面全流程指南
人工智能·vscode·ai·编辑器·html5·ai编程·claude code
正见TrueView1 小时前
程一笑的价值选择:AI金玉其外,“收割”老人败絮其中
人工智能
Imm7772 小时前
中国知名的车膜品牌推荐几家
人工智能·python
风静如云2 小时前
Claude Code:进入dash模式
人工智能