从零开始的Python机器学习指南(二)——监督学习之OLS回归

本文介绍了监督学习中的重要分支——回归,特别是线性回归。通过解释回归问题的本质,即寻找最佳映射函数以最小化误差平方和,展示了线性回归作为优化问题的特性。利用sklearn库,文章展示了如何在Python中实现线性回归模型,并通过交叉验证评估模型性能。最后,讨论了线性回归的应用场景及预测的局限性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

介绍

本博客将结合样例介绍监督学习/Supervised Learning/SL下的第一大分支:回归/Regression

开始前的准备

开始前,请先确保你的python环境中有以下包:
pandasnumpysklearn

本文的所有代码可在AnacondaJupyter Lab里运行。

正文

首先来理解下:为什么回归/Regression是一种监督学习?这个问题的本质是什么?

我们首先要理解回归问题的本质。简单来说,回归问题的本质是,对于一个映射 f f f,
f : R n ↦ R f:\mathbb{R}^n\mapsto \mathbb{R} f:RnR
,我们有它定义域/Domain对应域/Codomain的一些数组。我们想要通过这些已有的数据来找到一个最符合这些数据的模型/回归函数。

换个角度看,对于每一条数据,该映射的定义域可以理解为特征集/Feature Set,其对应域可理解为标签集/Label Set。我们要找的就是未知的映射函数,对应着机器学习里的黑箱模型/Blackbox Model

但是要把它变成一个完全的监督学习问题,我们还需要定义下我们要优化的目标是什么。既然我们要找到最符合数据的映射,我们可以考虑最小化误差平方和/Sum of Squared Errors/SSE。对于一个有 m m m条数据的数据集和一个对应的映射 f f f,该映射对于该数据集的误差平方和定义为

ℓ = ∑ i = 1 m ( y ( i ) − f ( x ( i ) ) ) 2 \ell = \sum_{i=1}^m \Big(y^{(i)} - f\big({\bf x}^{(i)}\big)\Big)^2 =i=1m(y(i)f(x(i)))2

,也就是把每一条数据的真实标签和映射的预测标签的差进行平方后求和。如果我们把误差平方和作为监督学习的损失函数/Loss Function,则该回归问题可被称为普通最小二乘法线性回归问题/OLS Linear Regression。我们要做的就是找到映射 f f f,使得误差平方和最小。

我们把这个问题更加严谨地下个定义。让 x {\bf x} x作为特征集, w \bf w w作为每个特征的权重集,则对于线性映射
f ( x ; w ) = w T ⋅ x = w 0 x 0 + w 1 x 1 + . . . + w n x n f({\bf x; w}) = {\bf w}^T\cdot{\bf x}=w_0x_0+w_1x_1+...+w_nx_n f(x;w)=

Python是一种功能强大的编程语言,可以被用于办公自动化,其中包括Excel表格的自动化处理。下面我们将详细介绍如何使用Python实现Excel表格的自动化处理。 Python的第三方库openpyxl可以用于处理Excel文件。首先,我们需要安装openpyxl库,可以通过pip命令进行安装。安装完成后,我们可以使用openpyxl库中的函数和方法进行Excel表格的读取、写入和修改。 读取Excel文件非常简单,我们可以使用openpyxl库的load_workbook函数,指定要读取的文件路径,然后使用get_sheet_by_name函数选择要操作的工作表。这样,我们就可以使用cell函数来获取特定单元格的值。 写入和修改Excel文件也很容易。我们可以使用openpyxl库的Workbook函数创建一个新的Excel文件,然后使用create_sheet函数添加工作表。对于已经存在的Excel文件,我们可以使用Workbook的load_workbook函数打开文件,然后可以对工作表进行操作,例如使用cell函数来写入数据或修改单元格的值。 除了基本的读取、写入和修改操作,Python还可以进行更复杂的Excel表格自动化处理。我们可以根据条件筛选数据、合并或拆分单元格、插入和删除行列、设置单元格的格式等。 在实际的办公自动化应用中,Python的openpyxl库配合其他功能强大的库如pandas、numpy等,可以实现更多高级操作。同时,我们还可以使用Python库比如xlwings从Excel中调用Python代码,进一步提高Excel表格的自动化处理能力。 总而言之,Python可以通过openpyxl库实现Excel表格的自动化处理。通过读取、写入和修改单元格,我们可以实现数据的快速处理和分析。此外,Python还能进行更复杂的Excel操作,为办公自动化带来更多便利。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

EricFrenzy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值