入门机器学习从未如此简单。除了结构化的大型开放式在线课程 (MOOC) 之外,网络上还有大量令人难以置信的免费资源。以下是一些对我有所帮助的资源。
- 首先观看 YouTube 上一些很酷的视频。阅读几本好书或文章,例如 终极算法:探索终极学习机器如何重塑我们的世界。我保证您会爱上这个关于机器学习的酷炫互动页面。
- 学会清楚地区分流行语——例如,机器学习、人工智能、深度学习、数据科学、计算机视觉和机器人技术。阅读或收听专家关于这些主题的演讲。观看这段Brandon Rohrer 精彩视频,他是一位有影响力的数据科学家。或者这段关于与数据科学相关的各种角色之间明显差异的视频。
- 明确设定您想要学习的目标。然后去参加那个 Coursera 课程。或者参加华盛顿大学的课程,这个课程也很不错。
- 关注一些优秀的博客:KDnuggets,Mark Meloon关于数据科学职业的博客,Brandon Rohrer的博客,Open AI的研究博客。
- 如果您热衷于参加在线课程,请查看这篇文章,以获取关于选择合适的 MOOC的指导。
- 最重要的是,培养一种感觉。加入一些好的社交论坛,但抵制住被耸人听闻的头条新闻和新闻所吸引的诱惑。自己阅读以了解它是什么以及不是什么,它可能走向何方,以及它可以开启哪些可能性。然后坐下来思考如何将机器学习应用或数据科学原理融入到您的日常工作中。构建一个简单的回归模型来预测您下一次午餐的费用,或者从您的能源供应商处下载您的用电量数据,并在 Excel 中绘制一个简单的时间序列图,以发现一些使用模式。在您彻底爱上机器学习之后,您可以观看这段视频。
Python 是机器学习/人工智能的好语言吗?
熟悉并掌握至少一种高级编程语言对于机器学习的初学者来说非常有用。除非您是从事一些复杂算法的纯理论证明的博士研究员,否则您有望主要使用现有的机器学习算法并将其应用于解决新颖的问题。这需要您戴上编程的帽子。
关于数据科学的最佳语言有很多讨论。在争论不休的时候,不妨喝杯咖啡,阅读这篇富有洞察力的 FreeCodeCamp 文章,了解数据科学语言。或者,查看 KDnuggets 上的这篇文章,直接深入了解Python 与 R 的辩论。
目前,人们普遍认为 Python 有助于开发人员从开发到部署和维护都更有效率。与 Java、C 和 C++ 相比,Python 的语法更简单,并且处于更高的级别。它拥有充满活力的社区、开源文化、数百个专注于机器学习的高质量库,以及来自行业巨头(例如 Google、Dropbox、Airbnb 等)的巨大支持基础。
基本 Python 库
假设您认同普遍观点,即 Python 是机器学习的最佳语言,那么您需要掌握一些核心 Python 包和库。
NumPy
NumPy 是 Numerical Python 的缩写,是在 Python 生态系统中进行高性能科学计算和数据分析所需的基础包。它是构建几乎所有更高级别工具(例如 Pandas 和 scikit-learn)的基础。TensorFlow 使用 NumPy 数组作为支撑张量对象和深度学习任务图流的基本构建块。许多 NumPy 操作都是用 C 实现的,这使得它们非常快速。对于数据科学和现代机器学习任务而言,这是一个非常宝贵的优势。

Pandas
Pandas 是科学 Python 生态系统中最流行的库,用于进行通用数据分析。Pandas 构建在 NumPy 数组之上,从而保持了快速的执行速度,并提供了许多数据工程功能,包括
- 读取/写入多种不同的数据格式
- 选择数据子集
- 跨行和下行列计算
- 查找和填充缺失数据
- 将操作应用于数据中的独立组
- 将数据重塑为不同的形式
- 将多个数据集组合在一起
- 高级时间序列功能
- 通过 Matplotlib 和 Seaborn 进行可视化

Matplotlib 和 Seaborn
数据可视化和数据讲故事是每位数据科学家都必须掌握的基本技能,因为能够有效地向任何受众传达分析中的见解至关重要。这也是机器学习管道中同样关键的部分,因为您经常需要在决定应用特定的机器学习算法之前对数据集进行探索性分析。
Matplotlib 是使用最广泛的 2D Python 可视化库。它配备了令人眼花缭乱的命令和界面阵列,可从您的数据生成出版质量的图形。这篇非常详细且内容丰富的文章将帮助您开始使用 Matplotlib。

Seaborn 是另一个专注于统计绘图的优秀可视化库。它在 Matplotlib 之上提供了一个 API(具有用于绘图样式和颜色默认设置的灵活选择),为常见的统计绘图类型定义了简单的高级函数,并与 Pandas 提供的功能集成。您可以从这个关于Seaborn 入门的精彩教程开始。

Scikit-learn
Scikit-learn 是最重要的通用机器学习 Python 包,必须掌握。它具有各种分类、回归和聚类算法,包括支持向量机、随机森林、梯度提升、k-均值和DBSCAN,旨在与 Python 数值和科学库 NumPy 和 SciPy 互操作。它通过一致的界面提供了一系列监督和无监督学习算法。该库具有在生产系统中使用所需的健壮性和支持。这意味着它非常关注易用性、代码质量、协作、文档和性能等问题。查看这个Scikit-learn 世界中使用的机器学习词汇的温和介绍,或者这篇演示使用 Scikit-learn 的简单机器学习管道方法的文章。
这篇 文章最初发表于 Heartbeat ,根据 CC BY-SA 4.0 许可协议发布。
3 条评论