专栏首页磐创AI技术团队的专栏吴恩达机器学习课程:完全用Python完成,可以的!(附代码)

吴恩达机器学习课程:完全用Python完成,可以的!(附代码)

“吴恩达的Coursera机器学习课程可以完全用Python完成!”

昨天,Reddit论坛的机器学习看板出现这样一条热帖。

可以说,吴恩达(Andrew Ng)的机器学习课程是很多人、尤其是中国学生进入机器学习世界的引路人,被认为是入门机器学习的最好课程。截至目前,有超过80000人在Coursera上完成了这门课的学习。

吴恩达Machine Learning课的评分

不过,这门课推荐使用Matlab/Octave来完成作业,对于不会Matlab/Octave,或者对Matlab/Octave不感兴趣的人来说,要完成作业获取证书可能难度加大。虽然吴恩达强烈推荐大家使用 Octave 来学习机器学习,并且用了完整的一个章节“Octave and Matlab Tutorial”来讲述 Octave 的基本操作。

那么,全部用Python完成是怎么回事?

Reddit用户rsdsdsr的帖子如下:

一句话总结:吴恩达的Coursera ML课程可以用Python完成,而且你不必是Python专家就可以做到。但你需要有很好的数学基础,这将是非常耗时的,而且用Python写作业不会得到证书。” 我最近在Coursera上完成了吴恩达的ML课程,但我没有使用推荐的Matlab/Octave,而是完全用Python来完成。你可以在这里查看我作业的Jupyter notebooks: https://github.com/seddonr/Ng_ML

我绝不是第一个这样做的人,但我认为应该发这个帖子,作为给那些正在考虑参加这门课程,但像我一样对学习Matlab/Octave不感兴趣的人的鼓励,也可以了解用Python学这门课的好处和缺点。 用Python完成这门课程非常耗时,因为这意味着我必须从头开始构建所有东西,而如果你用Matlab/Octave完成课程,则会得到大量预编写的代码。另一方面,这是一次很棒的学习经历,我学到了大量的Python技能。 你不必成为Python专家——在完成这门课程之前,我的Python经验仅限于“使用Python自动化枯燥的东西”,以及学过一些关于NumPy和Matplotlib基础知识的非常简短的教程。但是,你需要有良好的数学基础才能跟上课程——有很多矩阵代数和微积分。

另一个问题是,由于这门课程是为Matlab/Octave设计的,因此无法提交用Python完成的作业,所以你无法对你的作业进行评分或获得证书。证书对我来说并不重要,但如果对你很重要,那么Matlab/Octave可能是更好的选择。 总的来说,我觉得这门课程很有趣,也很享受,我觉得它很好地覆盖了ML的许多主题。 Andrew Ng能以一种愉快的语调把知识点讲得很清楚,他的课也很容易学。如果你决定尝试用Python完成这门课程,祝你好运,我希望这个帖子是令人鼓舞的!

Python作业代码

rsdsdsr公开了他的作业代码:

https://github.com/seddonr/Ng_ML

内容:

Ex1:线性回归

有一个变量和多个变量。

Ex2:逻辑回归

包括正则化。

Ex3: Multi-class 分类和神经网络

使用两种不同的方法识别手写数字:one-vs-all逻辑回归,以及前向传播预训练的神经网络。

Ex4:神经网络学习

构建和训练神经网络,包括反向传播,并将其用于手写数字识别。

Ex5:正则化线性回归和偏差与方差

包括学习曲线和多项式回归。

Ex6:支持向量机

6.1:在一些样本2D数据集上展示scikit-learn SVM,其中包含线性和高斯核函数。

6.2:使用自然语言处理和scikit-learn SVM构建电子邮件垃圾邮件分类器。

Ex7:K-means聚类和主成分分析

7.1:构建k-means聚类算法并将其用于图像压缩。

7.2:构建PCA算法并将其用于图像压缩和可视化。

Ex8:异常检测和推荐系统

8.1:使用多元高斯模型进行异常检测。 Precision, recall, F1 score. 8.2:构建推荐系统并用它来推荐电影。

本文分享自微信公众号 - 磐创AI(xunixs)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-10-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 一文总结数据科学家常用的Python库(上)

    我是Python语言的忠实粉丝,它是我在数据科学方面学到的第一门编程语言。Python有三个特点:

    磐创AI
  • 50 个加速包都抢不到车票,还不如这个 Python 抢票神器

    又到了一年一度的抢票大战,本来就辛苦劳累了一年,想着可以早点订到票跟家里人团聚。所以有挺多的人,宁愿多花些钱去找黄牛买票。但今年各种抢票软件的横行,还有官方出的...

    磐创AI
  • 百道Python面试题实现,搞定Python编程就靠它

    对于一般的机器学习求职者而言,最基础的就是掌握 Python 编程技巧,随后才是相关算法或知识点的掌握。在这篇文章中,我们将介绍一个 Python 练习题项目,...

    磐创AI
  • Python 工匠:容器的门道

    https://www.zlovezl.cn/articles/mastering-container-types/

    用户2196567
  • 学Python的人这么多 有哪些技巧可言

    学Python的人这么多,有哪些技巧可言?用Python完成项目,编写的代码量更少,代码简短可读性强,团队协作开发时读别人的代码速度会非常快,使工作变得更加高效...

    一墨编程学习
  • DAY1-初识python

    当我们编写Python代码时,我们得到的是一个包含Python代码的以.py为扩展名的文本文件。要运行代码,就需要Python解释器去执行.py文件。

    py3study
  • Python 环境搭建

    你可以通过终端窗口输入 "python" 命令来查看本地是否已经安装Python以及Python的安装版本。

    想偷懒的程序员
  • 完了,我爱上Python!

    用户1737318
  • Python基础部分大总结

    首先要跟所有的读者来一句道歉。昨天匆忙发出的文章发现基础部分整合的链接不能访问,后来一想应该是没有发布,所以就点击不了链接,没关系,我重新整合一下,小伙伴有两个...

    叫我龙总
  • Python已成为网络攻击的首选编程语言

    调查数据表明,目前的GitHub代码库中,有超过20%的网络攻击工具或PoC代码都是采用Python编写的。

    FB客服

扫码关注云+社区

领取腾讯云代金券