机器学习教程——线性回归笔记

发布于:2025-06-22 ⋅ 阅读:(18) ⋅ 点赞:(0)


前言


线性回归模型是几乎所有AI学习时必须学习的基础内容,本次主要是从代码的角度研究线性回归。

1.引入库

代码如下(示例):

import numpy as np  
import matplotlib.pyplot as plt   
from sklearn.linear_model import LinearRegression

这里导入了三个包:

  • numpy 主要用于科学计算,帮助计算矩阵
  • matplotlib 主要是画图,可以精准定位其位置
  • sklearn 机器学习库,内置了很多现成的机器学习模型
    注意:sklearn包的安装:
pip install scikit-learn  -i https://pypi.tuna.tsinghua.edu.cn/simple

深入学习机器学习可以去阅读:蜥蜴书

2.构建训练数据

  • 设置随机种子:np.random.seed(0)
    意义:设置种子可以确保程序可重复性,尤其是在做调试或者需要对比结果时非常有用。
  • 生成均匀分布的随机数:np.random.rand()
    通过这个函数可以实现生成指定数量的均匀分配随机数
    X_train = np.sort(np.random.rand(n_samples))`
  • 生成训练数据
    y_train = (true_fun(X_train) + np.random.randn(n_samples) * 0.05).reshape(n_samples, 1)
    他在原来的基础上引入了误差的概念,更加符合现实。。

3.开始训练

model = LinearRegression()  # 定义模型
model.fit(X_train[:, np.newaxis], y_train)  # 训练模型
print("输出参数w:", model.coef_)  # 输出模型参数w
print("输出参数b:", model.intercept_)  # 输出参数b
  • np.newaxis的作用:
    可以将 X_train 的形状从 (30,) 转换为 (30, 1),将其转化为列向量

4.测试并且可视化

X_test = np.linspace(0, 1, 100)
plt.plot(X_test, model.predict(X_test[:, np.newaxis]), label="Model")
plt.plot(X_test, true_fun(X_test), label="True function")
plt.scatter(X_train, y_train)  # 画出训练集的点
plt.legend(loc="best")
plt.show()

结果

在这里插入图片描述

总结

本次学习,学到了随机种子设置的重要意义以及numpy的升维操作


网站公告

今日签到

点亮在社区的每一天
去签到