工具&方法 | 六步法,用Python进行机器学习项目可以如此明了
The following article is from Python数据之道 Author 李不栗
机器学习是人工智能领域的一个重要研究课题,近年来一直倍受关注。这一领域可能会提供有吸引力的机会,而且在这一领域开始职业生涯并不像乍看上去那么困难。即使你在数学或编程方面没有任何经验,也不是问题。学会的最重要的因素纯粹是你自己的兴趣和学习所有这些东西的动机。
如果你是一个新手,不知道从哪里开始学习、为什么需要机器学习、以及为什么它最近越来越受欢迎,看本文就对了!我已经收集了所有必要信息和有用资源来帮助你学到新的知识和完成你的第一个项目。
为什么选择Python?
第0步 你需要了解的ML流程的简要概述
数据收集
数据排序
数据分析
算法开发
检查生成的算法
使用算法进一步得出结论
无监督学习
有监督学习
决策树
支持向量机
朴素贝叶斯分类器
K近邻
线性回归
第1步 复习 Python 数学库所需要的数学技能
一个在人工智能和机器学习领域工作的不懂数学的人就像一个不懂说服技巧的政客。
”1. 用于数据分析的线性代数:标量、向量、矩阵和张量
2. 数学分析:导数和梯度
Khan Academy 提供线性代数和数学分析的短期实战课程,基本涵盖了最重要的内容。
MIT OpenCourseWare 为机器学习提供了很棒的数学学习课程,提供了所有视频讲座和学习材料。3. 梯度下降:从头开始构建一个简单的神经网络
《Python中的神经网络(Neural Network in Python )》
➭https://www.amazon.com/Neural-Network-Projects-Python-ultimate/dp/1789138906
这是一个很棒的教程,会教会你从头构建一个简单的神经网络。你也能够找到有用的插图来理解梯度下降是如何工作的。
有些更短的教程也能够帮助你逐步掌握神经网络:
《如何在Python中从零开始构建自己的神经网络(How to build your own Neural Network from scratch in Python)》
➭https://towardsdatascience.com/how-to-build-your-own-neural-network-from-scratch-in-python-68998a08e4f6
《在Python中从零实现一个神经网络——导论(Implementing a Neural Network from Scratch in Python — An Introduction)》
➭http://www.wildml.com/2015/09/implementing-a-neural-network-from-scratch/
《面向初学者的机器学习:神经网络导论(Machine Learning for Beginners: An Introduction to Neural Networks )》
➭https://victorzhou.com/blog/intro-to-neural-networks/
关于神经网络如何工作以及如何在Python中从零开始实现的一个很棒的简明解释。
第2步 学习Python语法的基础知识
通过阅读有关游泳技巧的书籍来学习游泳是不可能的,但是在泳池训练的同时阅读这些书籍可以更有效地学会技能。
”Codecademy
➭https://www.codecademy.com/
教授良好的通用语法。
Learn Python the Hard Way➭https://learnpythonthehardway.org/
一本出色的手册式书籍,解释了基础知识和更复杂的应用程序。
Dataquest➭https://www.dataquest.io/
这个资源在教授数据科学的同时也教授语法。
Python教程(The Python Tutorial)➭https://docs.python.org/3/tutorial/
官方文档。
第3步 探索主要的数据分析库
1、打开Jupyter Notebook(见下文)。
2、大约用半小时把库文件看一遍。
3、将该库导入到您的 Jupyter Notebook 中。
4、按照分步的指南查看正在运行的库。
5、检查文档,了解它的其他功能。
我不建议立即投入到学习库中,因为当你开始在项目中使用它们时,你可能会忘记所学的大部分内容。相反,你应该试着弄明白用到的每个库都能做些什么。
Jupyter Notebook
你可能会需要的Python库
Numpy
安装教程
➭https://docs.scipy.org/doc/numpy/user/
快速上手教程
➭https://docs.scipy.org/doc/numpy/user/quickstart.html
NumPy 由 Numerical Python 缩写而来,它是专业人士和初学者最通用和使用最广泛的库。使用这个工具,你可以轻松舒适地操作多维数组和矩阵。像线性代数运算和数值转换这样的函数也是可用的。
Pandas
安装教程
➭https://pandas.pydata.org/pandas-docs/stable/
快速上手教程
➭https://pandas.pydata.org/pandas-docs/stable/getting_started/10min.html
Pandas 是一个众所周知的高性能数据框表示工具。使用它,你几乎可以从任何数据源加载数据,计算各种函数并创建新的参数,使用类似于 SQL 的聚合函数构建对数据的查询。此外,还有各种矩阵变换函数、滑动窗口法等从数据中获取信息的方法。所以这个库对于一个优秀的专家来说是必不可少的。
Matplotlib
安装教程
➭https://matplotlib.org/contents.html
快速上手教程
➭https://matplotlib.org/users/pyplot_tutorial.html
Matplotlib 是一个用于创建图形和可视化的灵活库。它很强大,但有点笨重。你可以跳过 Matplotlib 并从使用 Seaborn 开始(请参阅下面的 Seaborn)。
Scikit-Learn
安装教程
➭https://scikit-learn.org/stable/documentation.html
快速上手教程
➭https://elitedatascience.com/python-machine-learning-tutorial-scikit-learn
我可以说这是迄今为止我见过的设计得最完善的 ML 包。它实现了广泛的机器学习算法,并使其易于嵌入到实际应用程序中。你可以使用库中大量的函数,比如回归、聚类、模型选择、预处理、分类等等。所以它值得全面学习和使用。它最大的优点是工作速度快,因此 Spotify、Booking.com、J.P.Morgan 等主流平台都在使用 Scikit-Learn 是理所当然的。
第4步 开发结构化的项目
Dataquest——交互式地教授 Python 和数据科学。分析从中央情报局的文件到 NBA 比赛的统计数据等的一系列有趣的数据集,并开发包括神经网络和决策树在内的策略算法。
➭https://www.dataquest.io/
Python for Data Analysis——作者写了很多关于 Python数据分析的论文。
➭http://bedford-computing.co.uk/learning/wp-content/uploads/2015/10/Python-for-DataAnalysis.pdf
Scikit文档——Python 的主要计算机训练库。
➭https://scikit-learn.org/stable/documentation.html
CS109——哈佛大学数据科学的课程。
➭https://cs109.github.io/2015/
第5步 做出你自己的项目
StackOverflow —— 一个人们可以在上面讨论所有可能的问题的多功能网站,提供了一系列问题和答案。此外,它受众广泛,所以你可以询问你的错误并从大量用户那里得到答案
Python 文档 —— 另一个搜索参考资料的好地方
写在最后以及一点鼓励
你可能会问:“为什么我要投身于机器学习领域;也许已经有很多其他优秀的专家了。”
根据摩尔定律,集成电路上的晶体管数量每24个月翻一番。这意味着,我们的计算机性能每年都在进步,也意味着以前无法触及的知识边界再次“向右移动”——大数据和机器学习算法的研究还有空间!
”本文来源:
https://towardsdatascience.com/beginners-guide-to-machine-learning-with-python-b9ff35bc9c51
►往期推荐
回复【Python】👉简单有用易上手
回复【学术前沿】👉机器学习丨大数据
回复【数据资源】👉公开数据
回复【可视化】👉你心心念念的数据呈现
回复【老姚专栏】👉老姚趣谈值得一看
►一周热文
学术前沿丨当计量经济学遭遇机器学习(四):高维回归之LASSO
Python数据之道
数据Seminar
这里是大数据、分析技术与学术研究的三叉路口
欢迎扫描👇二维码添加关注