Skip to content

Latest commit

 

History

History
197 lines (99 loc) · 12.5 KB

5-beginner-friendly-steps-learn-machine-learning-data-science-python.md

File metadata and controls

197 lines (99 loc) · 12.5 KB

5 个适合初学者的步骤,使用 Python 学习机器学习和数据科学

原文:www.kdnuggets.com/2019/09/5-beginner-friendly-steps-learn-machine-learning-data-science-python.html

评论

由丹尼尔·博克,机器学习工程师

图示

照片由山姆·博克提供。谢谢你,山姆。


我们的前三大课程推荐

1. Google 网络安全证书 - 快速入门网络安全职业。

2. Google 数据分析专业证书 - 提升你的数据分析水平

3. Google IT 支持专业证书 - 支持你所在组织的 IT


两年前,我开始在线自学机器学习。我通过 YouTube 和我的博客分享了我的学习历程。我当时不知道自己在做什么。我之前从未编程过,但决定要学习机器学习。

当人们找到我的工作时,他们有时会联系我并询问问题。我没有所有的答案,但我会尽量回复尽可能多的问题。我收到的最常见的问题是“我从哪里开始?”其次常见的问题是*“我需要知道多少数学?”*

今天早上,我回答了这些问题中的一小部分。

有人告诉我他们已经开始学习 Python,并希望进入机器学习领域,但不知道下一步该做什么。

我已经学会了 Python,接下来我该做什么?

我在回复中整理了几个步骤,我在这里复制了它们。你可以将它们视为从完全不懂编程到成为机器学习从业者的粗略大纲。

我的学习风格是先编程。先让代码运行,然后在需要时再学习理论、数学、统计学和概率学,而不是提前学习。

记住,如果你刚开始学习机器学习,可能会感到有些吓人。有很多内容。慢慢来。收藏这篇文章,以便随时参考。

我偏向使用 Python,因为这是我开始学习的语言并且一直在使用。你可以使用其他语言,但这些步骤是针对 Python 的。

1. 学习 Python、数据科学工具和机器学习概念

电子邮件中说他们已经学过一些 Python。但这个步骤也适用于完全新手。花几个月时间同时学习 Python 编程和不同的机器学习概念。你将同时需要这两者。

在学习 Python 代码的同时,练习使用数据科学工具,如 Jupyter 和 Anaconda。花几个小时去玩玩这些工具,了解它们的用途以及为何要使用它们。

学习资源

  1. AI 要素— 主要人工智能和机器学习概念的概述。

  2. Coursera 上的 Python for Everybody— 从零开始学习 Python。

  3. freeCodeCamp 的 Python 学习— 一个视频中讲解所有主要的 Python 概念。

  4. Corey Schafer 的 Anaconda 教程— 在一个视频中学习 Anaconda(你将用来为数据科学和机器学习设置计算机)。

  5. Dataquest 的 Jupyter Notebook 入门教程— 在一篇文章中快速入门 Jupyter Notebooks。

  6. Corey Schafer 的 Jupyter Notebook 教程— 在一个视频中学习如何使用 Jupyter Notebooks。

2. 学习 Pandas、NumPy 和 Matplotlib 的数据分析、操控与可视化

一旦你掌握了一些 Python 技能,你会想学习如何处理和操控数据。

要做到这一点,你应该熟悉pandasNumPyMatplotlib

pandas 将帮助你处理数据框,这些是类似于 Excel 文件中的表格信息。想象一下行和列。这种数据被称为结构化数据。

NumPy 将帮助你对数据进行数值操作。机器学习将你能想到的一切转化为数字,然后在这些数字中寻找模式。

Matplotlib 将帮助你制作图表和数据可视化。理解表格中的大量数字对人类来说可能很困难,我们更倾向于看到一条穿过图表的线。制作可视化是传达你的发现的重要部分。

学习资源

  1. Coursera 上的应用数据科学与 Python— 开始将你的 Python 技能应用于数据科学。

  2. pandas in 10-minutes— pandas 库及其一些最有用功能的快速概述。

  3. Codebasics 的 Python Pandas 教程— YouTube 系列,讲解 pandas 的所有主要功能。

  4. NumPy 教程 by freeCodeCamp— 在一个 YouTube 视频中学习 NumPy。

  5. Sentdex 的 Matplotlib 教程— YouTube 系列,教授 Matplotlib 的所有最有用特性。

3. 使用 scikit-learn 学习机器学习

现在你已经掌握了操控和可视化数据的技能,是时候在数据中寻找模式了。

scikit-learn 是一个包含许多有用机器学习算法的 Python 库,随时供你使用。

它还具有许多其他有用的功能,以帮助你判断你的学习算法学得如何。

专注于学习机器学习问题的种类,比如分类和回归,以及哪些算法最适合这些问题。暂时不用从零开始理解每个算法,首先学习如何应用它们。

学习资源

  1. Data School 提供的使用 scikit-learn 的 Python 机器学习课程 — 讲解 scikit-learn 主要功能的 YouTube 播放列表。

  2. Daniel Bourke 的《探索性数据分析的温和介绍》 — 将前两步中学到的内容整合到一个项目中。包含代码和视频,帮助你进入你的第一个 Kaggle 比赛。

  3. Daniel Formosso 的 scikit-learn 探索性数据分析笔记本 — 上述资源的更深入版本,包含一个完整的项目。

4. 学习深度学习神经网络

深度学习和神经网络在没有太多结构的数据上效果最好。

数据框架有结构,图像、视频、音频文件和自然语言文本有结构但相对较少。

小贴士: 在大多数情况下,你会想对结构化数据使用决策树的集成方法(如随机森林或 XGBoost),而对非结构化数据则会使用深度学习或迁移学习(将预训练神经网络应用于你的问题)。

你可以为自己开始一个记录,将这些小信息收集起来。

学习资源

  1. Coursera 上 Andrew Ng 的 deeplearning.ai — 由业界顶尖专家教授的深度学习课程。

  2. fast.ai 由 Jeremy Howard 提供的深度学习课程 — 由行业顶尖从业者之一教授的实用深度学习方法。

5. 额外课程与书籍

在学习过程中,最好用自己的小项目来实践所学内容。这些项目不需要是复杂的世界改变者,但应该是你可以说“我用 X 做了这个”的东西。然后通过 Github 或博客分享你的作品。Github 用于展示你的代码,博客用于展示你如何沟通你的工作。你应该为每个项目发布一项。

申请工作的最佳方式是已经完成所需的工作。分享你的作品是向潜在未来雇主展示你能力的好方法。

在你熟悉使用一些不同的机器学习和深度学习框架后,可以尝试通过从零开始构建它们来巩固你的知识。你不一定需要在生产或机器学习角色中这样做,但了解事物的内部运作将帮助你在自己的工作基础上进行构建。

学习资源

  1. 如何开始自己的机器学习项目,作者:Daniel Bourke——开始自己的项目可能很困难,本文给你一些建议。

  2. Jeremy Howard 的《fast.ai 深度学习基础》——一旦你从顶层开始,这个课程将帮助你从底层填补空白。

  3. Andrew Trask 的《Grokking Deep Learning》——这本书将教你如何从零开始构建神经网络以及你为何需要了解这一过程。

  4. 这些书籍将帮助你学习机器学习,作者:Daniel Bourke——YouTube 视频讲解一些最佳的机器学习书籍。

每一步需要多长时间?

你可能会在每一部分上花费 6 个月或更长时间。不要急于求成。学习新事物需要时间。作为数据科学家或机器学习工程师,你主要是在培养提问的能力,然后使用你的工具尝试找到答案。

有些日子你会觉得自己什么都没学到,甚至在倒退。忽略它。不要逐日比较你的进展。要逐年比较进展。

我可以在哪里学习这些技能?

我已经列出了一些资源,它们都可以在网上找到,大多数是免费的,但还有很多其他的资源。

DataCamp是做这些的大好去处。否则,我的机器学习和人工智能资源数据库包含了一个很好的免费和付费学习材料档案。

记住,作为数据科学家或机器学习工程师的一部分工作就是解决问题。把你的第一个任务当作了解每一步的更多内容,并创建自己的课程来帮助你学习它们。

如果你想了解一个自创的机器学习课程样例,请查看我的自创 AI 硕士学位。这是我从零编码到成为机器学习工程师的 9 个月使用的课程。虽然不完美,但这是我的,所以它有效。

那统计学呢?那数学呢?那概率学呢?

你会在过程中学习这些东西。先从代码开始。让事情运行起来。在你的代码运行之前试图学习所有的统计学、所有的数学、所有的概率学就像是在试图煮海洋。这会拖慢你的进度。

如果你的代码不能运行,那么统计学、数学和概率学都没有意义。先让代码运行起来,然后利用你的研究技能来确定它是否正确。

那认证呢?

认证很好,但你不是为了它们而来的。你是为了技能。

不要像我一样犯错,认为更多的认证等于更多的技能。不是的。

通过上述课程和资源建立基础知识,然后通过自己的项目建立特定知识(那些无法通过教学获得的知识)。

如果你有问题,请在下面留言,以便其他人也能看到。否则,随时联系我。在可能的情况下使用了附属链接,更多关于我合作伙伴的信息请点击这里

你可以在YouTube 上找到这篇文章的视频版本

简介:Daniel Bourke 在技术、健康和艺术的交汇处活动。每日文章请访问:www.mrdbourke.com

原文。转载已获许可。

相关链接:

  • 我作为机器学习工程师的第一年学到的 12 件事

  • 新数据科学家的建议

  • 数据科学入门

更多相关话题