使用 sklearn 与 scipy stats 进行机器学习

数据挖掘 机器学习 Python scikit-学习 麻木的 scipy
2022-03-11 11:06:24

我创建了 50 个随机 x 和 y 点(斜率为 y = 2x-1)。

首先,我使用 sklearn 中的线性回归将模型拟合到我的数据集上,其中我得到了斜率2.0066...和截距-0.535...

我的问题:将模型拟合到我们的数据集是否被认为是训练?对于每个给定的 x 值,因为它有一个 y 值(监督),我们的机器是否会通过每个 x,y 匹配并基于它创建最佳拟合线?因此,我们的模型是否经过训练?

其次,我使用stats.linregress(x,y)scipy 来获取斜率和截距(如果与使用 sklearn 线性回归得到的斜率和截距不同,它们看起来非常接近)。

我的问题:如果两种方法都给出相同的结果,为什么不直接使用 scipy 来获得最佳拟合线的公式来进行预测?使用机器学习有什么好处?

1个回答
  1. 是的,拟合数据并找到最佳拟合线称为训练模型。
  2. 如果您查看 scikit-learn 线性回归的源代码,您可以找到它使用 scipy linalg.lstsq 模块来查找系数和截距(大多数情况下)。有关详细信息,请参阅源代码机器学习是使用计算机(机器)应用数学(主要是数据)的花哨词