混淆八度和 python

Confused between octave and python

最近我完成了 Andrews Ng 在 coursera 上的 ML 课程。这是一个很棒的课程。在整个课程中我都在使用 Octave。但是,与八度相比,python 更受欢迎。所以,我现在开始学习python。我正在使用 python 实现线性回归。我什么都不做。简单地调用线性回归的预定义函数。但是,在 Octave 中,我曾经从头开始编写代码。我必须使用梯度下降算法找到参数。但是,python 中没有这样的东西。我参考了以下 link: https://towardsdatascience.com/linear-regression-python-implementation-ae0d95348ac4

我的问题是,我们不会使用梯度下降等算法来学习参数 Theta 吗?一切都在 python 中预定义了吗?

谢谢。

Python 是一种编程语言,就像 Octave。因此,在 Octave 中可以完成的所有事情也可以使用 Python 来完成。如果你想使用 Python 从头开始​​实现 Linear Regression 算法以验证你的理解,你当然可以这样做(我也这样做过)。为什么止步于线性回归,您可以在 Python 中从头开始实现 SVMDecision Trees 甚至 Deep Neural Networks。这是对这些算法进行具体理解的好方法。

然而,多年来,所有这些都已在 Python 库中实现,如 Sklearn 等。因此,随着数据的复杂性和数量增加,您可能希望使用这些库或框架之一。为什么?因为这些都是高度优化的实现。为了获得高层次的感觉 - 使用简单的列表和 for 循环实现线性回归,然后使用 Numpy 对其进行矢量化,您将看到性能上的差异。

总而言之 - 如果您好奇,请继续从头开始实施算法以获得扎实的理解。随着复杂性和数据量的增加,开始使用库和框架。希望这有帮助。