八度和python之间混淆

时间:2019-04-29 17:36:16

标签: python machine-learning octave

最近我已经完成了Andrews Ng在Coursera的ML课程。这是一个很棒的课程。我在整个课程中都使用八度音阶。但是,与八度相比,python非常受欢迎。因此,我现在开始学习python。我正在使用python实现线性回归。因为我什么也没做。只需调用预定义函数即可进行线性回归。但是,在八度中,我曾经从头开始编写代码。我必须使用梯度下降算法来查找参数。但是,python中没有这样的东西。我引用了以下链接: https://towardsdatascience.com/linear-regression-python-implementation-ae0d95348ac4

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

谢谢。

1 个答案:

答案 0 :(得分:2)

Python是一种编程语言,就像Octave一样。因此,可以使用Python完成在Octave中可以完成的所有操作。如果您想使用Python从头开始实现Linear Regression算法以验证您的理解,那么您当然可以做到(我也已经做到了)。为什么要停止线性回归,您可以在Python中从头开始实现SVMDecision Trees甚至Deep Neural Networks。这是获得对这些算法的具体理解的好方法。

但是,多年来,所有这些都已在Python中的Sklearn等库中实现。因此,随着数据复杂性和数据量的增加,您可能希望使用这些库或框架之一。为什么?因为这些是高度优化的实现。要获得高级感,请使用简单的list和for循环实现线性回归,然后使用Numpy将其向量化,您将看到性能的差异。

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