机器学习入门从未如此简单。 除了结构化的大规模开放在线课程(MOOC),网络上还有大量令人难以置信的免费资源。 这里有一些对我有帮助的。
- 从YouTube上的一些很棒的视频开始。 阅读几本好书或文章,例如“主算法:对终极学习机的追求将如何重塑我们的世界” 。 而且,我保证您会爱上这个关于机器学习的有趣的交互式页面 。
- 学习清楚区分流行语,例如机器学习,人工智能,深度学习,数据科学,计算机视觉和机器人技术。 阅读或听取专家关于每个话题的演讲。 观看具有影响力的数据科学家Brandon Rohrer的精彩视频 。 或这段视频介绍了与数据科学相关的各种角色之间的明显差异 。
- 明确设定您要学习的目标。 然后去参加Coursera课程 。 或从华盛顿大学(University of Washington)选一个 ,也很不错。
- 跟随一些不错的博客: KDnuggets , Mark Meloon的有关数据科学职业的博客, Brandon Rohrer的博客, Open AI的研究博客。
- 如果您热衷于参加在线课程,请查看本文以获取有关选择正确的MOOC的指导。
- 最重要的是,对它产生一种感觉。 加入一些不错的社交论坛,但抵制诱惑,吸引人眼球的头条新闻。 做自己的阅读,以了解它是什么,不是什么,它可能去的地方以及它可以打开的可能性。 然后坐下来考虑如何将机器学习或将数据科学原理应用到日常工作中。 建立一个简单的回归模型来预测您下一次午餐的成本,或者从能源供应商处下载您的用电量数据,然后在Excel中进行简单的时序图绘制,以发现某种用电量模式。 在完全迷上了机器学习之后,您就可以观看该视频。
Python是机器学习/人工智能的好语言吗?
熟悉至少一种高级编程语言并具有中等专业知识,对于机器学习的初学者很有用。 除非你是博士学位 研究人员仅研究某些复杂算法的纯理论证明,因此您应该主要使用现有的机器学习算法并将其应用于解决新问题。 这要求您戴上编程帽。
数据科学语言 。 或者,查看有关KDnuggets的帖子,直接进入Python vs. R辩论 。到目前为止,人们普遍认为Python可帮助开发人员从开发到部署和维护的工作效率更高。 与Java,C和C ++相比,Python的语法更简单,层次更高。 它拥有一个充满活力的社区,开源文化,数百个专注于机器学习的高质量库,以及来自业界知名人士(例如Google,Dropbox,Airbnb等)的庞大支持基础。
基本的Python库
假设您普遍认为Python是机器学习的最佳语言,那么您需要掌握一些核心Python软件包和库。
NumPy
NumPy是“ 数值Python ”的缩写,是Python生态系统中高性能科学计算和数据分析所需的基本软件包。 它是构建几乎所有高级工具(例如Pandas和scikit-learn )的基础。 TensorFlow使用NumPy数组作为Tensor对象和图流的基础构建模块,以进行深度学习任务。 许多NumPy操作都是用C语言实现的,从而使其超快。 对于数据科学和现代机器学习任务,这是无价的优势。
大熊猫
Pandas是科学Python生态系统中最受欢迎的库,用于进行通用数据分析。 Pandas基于NumPy数组构建,从而保持了快速的执行速度并提供了许多数据工程功能,包括:
- 读/写许多不同的数据格式
- 选择数据子集
- 跨行和向下列计算
- 查找并填充丢失的数据
- 将操作应用于数据中的独立组
- 将数据重塑为不同形式
- 将多个数据集组合在一起
- 先进的时序功能
- 通过Matplotlib和Seaborn进行可视化
Matplotlib和Seaborn
数据可视化和带数据讲故事是每位数据科学家必不可少的技能,因为至关重要的是能够有效地将分析得出的见解传达给任何受众。 这是机器学习管道中同样重要的部分,因为在决定应用特定的机器学习算法之前,您通常必须对数据集进行探索性分析。
Matplotlib是使用最广泛的2D Python可视化库。 它配备了令人眼花azz乱的命令和界面,可用于从数据中生成具有出版质量的图形。 这篇惊人的详细而丰富的文章将帮助您开始使用Matplotlib 。
Seaborn是另一个出色的可视化库,专注于统计绘图。 它在Matplotlib之上提供了一个API(可以灵活选择打印样式和颜色默认值),为常见的统计打印类型定义简单的高级功能,并与Pandas提供的功能集成。 您可以从针对Seaborn的初学者入门教程开始。
Scikit学习
Scikit-learn是最重要的通用机器学习Python软件包。 它具有各种分类 , 回归和聚类算法,包括支持向量机 , 随机森林 , 梯度提升 , k 均值和DBSCAN ,并且旨在与Python数值和科学库NumPy和SciPy互操作。 它通过一致的界面提供了一系列有监督和无监督的学习算法。 该库具有在生产系统中使用所需的鲁棒性和支持水平。 这意味着它非常关注易用性,代码质量,协作,文档和性能等问题。 请看一下有关Scikit学习领域中使用的机器学习词汇的简短介绍,或本文演示使用Scikit 学习的简单机器学习管道方法。
本文最初发布于CC BY-SA 4.0下的Heartbeat上 。
翻译自: https://opensource.com/article/18/10/machine-learning-python-essential-hacks-and-tricks