有许多python机器学习资源在线免费提供,从哪开始?如何进行?从零到python机器学习大神只要7个步骤。
入门,在英语中最打击人的两个单词,第一部往往是最难的,当在这方面有太多选择,通常让人崩。
从哪开始?
这篇文章旨在用7个不走带领python机器学习知识最少的新人成为知识渊博从业者,使用免费材料和资源.这个纲要主要目标是帮你选择可用的众多选项.可以确定有很多,但是哪个是最好的?它们之间是相辅相成?使用选择资源的最好顺序是什么?
进一步,我做出假设你不是下列的专家:
机器学习
python
任何python的机器学习,科学计算,或者数据分析库
他有可能帮助你对第一或第二或二者有一个基本的认识,但不是必需的.在前面的步骤花费一些额外的时间有可能弥补。
第一步 基本python技能
如果我们打算利用python进行机器学习,对python有一些基本认识是至关重要的.幸运的是,由于其作为一种广泛普及的通用编程语言,并应用于科学计算和机器学习,发现初学者的教程并不困难.python经验和编程水平一般是选择出发点的重点。
首先,你需要安装python.因为在有些时候我们需要使用科学计算和机器学习库,我建议你安装anaconda.这是一个具有工业强度用于linux,osx和windows的python实现,为机器学习安装需要的包,包括numpy,scikit-learn和matplotlib(这是作者的观点,我认为pandas,scipy这种包也是必不可少的).它同样包含ipython notebook,一个交互式环境.我建议使用python2.7(译者言:当全世界都是3.x的时候再说改python3吧),它仍是占主导地位的安装版本没有其他原因。
如果你没有编程知识,我的建议是用下面免费的在线书开始,然后学习随后的材料。
python the hard wayby zed a. shaw
如果你有变成经验,但是不是python,或者你刚学python,我建议学习下面其中一个或全部:
google developers python course(视觉学习者强烈推荐,五星好评)
an introduction to python for scientific computing (from ucsb engineering)by m. scott shell (神奇的python科学介绍,60页)
对于那些寻求python30分钟速成班的可以去(某宝):
learn x in y minutes (x = python)
当然,如果你有python编程经验,你可以跳过这步.即使这样,我建议你继续阅读python文档.
第二步 基础机器学习技能
kdnuggets’的创始人 zachary lipton指出人们对数据科学家的认识非常不同.实际上是机器学习领域的反映,因为数据科学家的工作包含使用机器学习算法多样化程度.是否有必要深刻了解算法,从而更有效的创建svm机器模型并从中获取信息?当然不是,就像生活中几乎所有东西,理论理解的深度的要求相对与实际应用(这是作者的一家之言哈~,译者是不支持的,不了解你怎么调参,优化模型呢?哈~).获得机器学习算法的深刻理解已经超出了本书范围,一般需要大量的时间投资在学术中,或者通过高强度的自学。
好消息是你不需要拥有phd水平的机器学习理论方面的理解,才能用于实践.并不是所有码农都为了有效的编码需要理论的计算机科学教育.这两点是相同的(所以我翻译的是码农.对,我就是在吐槽~自己. :( )。
andrew ng的course课程经常获得五星好评.但是我的建议是,浏览在线课程以前学生编制的课程笔记.跳过关于octave的笔记(类似matlab语言,和我们追求的python无关.译者注,从用词上我就能感到作者对matlab弄弄的厌恶).但是要注意这些不是官方的笔记,但是似乎能捕获andrew ng课程材料的相关内容.当然,如果你有时间和兴趣,可以参加andrew ng coursera的机器学习课程。
unofficial andrew ng course notes
如果你喜欢各种视频讲座,可以看tom mitchell的演讲视频.下面是是他最近的演讲视频,我(不是我)感觉他非常平易近人,我是他的脑残粉(没搞错的话,网上流行的***国立大学的机器学习视频是模仿tom mitchell的,logo都差不多就左下角右上角加了个东西.是的,我又在吐槽了)。
tom mitchell machine learning lectures
在这里,你不需要所有笔记和视频.一个有效的策略包含实战演练,适当时候参考上面笔记和视频.例如,当你遇到回归模型是现实,阅读ng笔记的回归部分或看mtichell的回归视频.
第三步 科学python库概率
好吧.有了一点python编程经验和机器学习理解后.除了python还有很多开源的库用于处理机器学习实践.通常,这些是执行基本机器学习任务主要使用的python库。
numpy- n维数组是非常有用的
pandas- python数据分析库,包括结构例如dataframes
matplotlib- 2d 绘图库生成出版质量图片
scikit-learn- 用于数据分析和数据挖掘任务的机器学习算法.
学习这些的优秀资料如下:
scipy lecture notesby gaël varoquaux, emmanuelle gouillart, and olav vahtras
这个pandas的教程非常棒:
10 minutes to pandas
在下面的教程中你可能看到一些其他的库,比如说 seaborn,一个基于matplotlib的数据可视化库.上述包是广泛python机器学习任务的核心,然而,让你在下面引用时,理解这些适应更多相关的包而不会懵.
第四步 开始python机器学习
python. √
machine learning fundamentals. √
numpy. √
pandas. √
matplotlib. √
吉时已到,我们开始使用python标准机器学习库–scikit-learn实现机器学习算法吧.
下面大多数教程和联系都在ipython(jupyter)notebook中实现.它是python执行的一个交互式环境.这些ipython notebook可以选择在线预览或下载,并且在你电脑本地交互.
ipython notebook overviewfrom stanford
另外请注意,下面教程来源于许多在线资源.所有notebooks 都归功于作业,你发现没有正确工作,请让我知道,这种情况会尽快纠正.我非常想向jake vanderplas, randal olson, donne martin, kevin markham, and colin raffel等人致敬.因为他们神奇免费可用的资源(50字好评已给,请返现).
第一个教程从scikit-learn开始,在开始下面步骤之前,我建议先做这些.
scikit-learn库的一般介绍,python中最常用的机器学习库,涵盖了knn算法:
an introduction to scikit-learnby jake vanderplas
更深入的介绍,包括知名数据集开始到项目完成:
example machine learning notebookby randal olson
重点放在scikit-learn中不同模型的评估策略,涵盖了训练集/测试集拆分(后面这句话的点没get到呢):
model evaluationby kevin markham
第五步 python机器学习主题
有了 scikit-learn基础后,我们可以对常见,实用的算法做进一步深入了解.我们从k-means聚类开始,一个广为人知的机器学习算法.解决无监督学习问题一个简单有效的方法:
k-means clusteringby jake vanderplas
接下来,我们看看分类问题.了解历史上最流行分类算法之一:
decision treesvia the grimm scientist
让我们看看连续数值预测:
linear regressionby jake vanderplas
我们可以从过logistic回归解决分类问题:
logistic regressionby kevin markham
第六步 深入python机器学习主题
我们已经开始scikit-learn,现在让我们将注意转向高级主题.首先svm(支持向量机).一个将复杂数据映射到高维空间的not-necessarily-linear分类
support vector machinesby jake vanderplas
接下来,随机森林,一个组合分类,通过考察kaggle titanic竞赛逐步引导:
kaggle titanic competition (with random forests)by donne martin
降维是减少正在考虑问题中变量数目的方法.pca(principal component analysis,主成分分析)是一种非监督的降维方法:
dimensionality reductionby jake vanderplas
在进入到最后一步之前,我们可以花时间考虑下,我们已经在相对较短的时间内走了很长一段路.
使用python和它的机器学习库,我们已经介绍一些最常见和总所周知的机器学习算法(k-means,支持向量机,knn),考察了强大的组合技术(随机森林),研究了支持任务的额外机器学习算法(降维,模型验证技术).随着这些基础的机器学习技巧的学习,我们已经拥有了一些使用的技能.
第七步 python深度学习
深度学习无处不在.深度学习构建与神经网络研究可以追溯到十几年前,但是追溯到过去几年的最新进展显著增加.如果你不熟悉深度学习,kdnuggets有很多文教详细介绍了众多最新创新,成就和令人赞誉的技术.
最后一步并不对深度学习软件分类,介绍2个引领当代python深度学习库的几个简单的网络实现.对于有兴趣挖掘更深的深度学习者,我建议你先从一下免费书开始:
*neural networks and deep learningby michael nielsen
theano
theano是第一个python深度学习库,按作者的话来说:
theano是一个python的库,可以让你高效地定义,优化,评估包含多维数据的数学表达式,下面theano的机器学习入门教程是非常长的,但相当的棒,十分生动:
*theano deep learning tutorialby colin raffel
caffe
另一个测试执行的库,caffe.同样的:
caffe是一个带有表达式,速度和模块化的深度学习库.由 berkeley vision and learning center (bvlc) 和社区贡献者开发.
我们已经介绍了很多有趣的例子,这里再给出一个, 用caffe实现google’s #deepdream.了解了这么多,自己动手放飞梦想吧(另外,关于深度学习的开源软件非常多,更多的可以看的翻译的github深度学习库,你了解多少?)。
dreaming deep with caffeviagoogle’s github
我没不能保证这个过程会很快或很容易,但如果你把时间按照上面的7个步骤做,没有任何理由,你不能达到合理水平,理解一些机器学习算法并利用python流行的库实现它,包括一些目前的深度学习研究前沿。
成功案例 I Opra Turbines:燃气轮机的气体扩散分析和防爆措施
小米6抢不到,荣耀9未开售!双双上榜京东618手机排行没毛病
CPK-RA2L1评估板(5)室内空气质量监测系统设计
中周变压器是什么_中周变压器的原理_中周变压器作用
基于OSFP-XD的1.6T光模块方案
从零到python机器学习大神的7个步骤
DS2141A , DS2143 , DS2151 , DS
三星W2019预计将在年底发布 售价均在万元以上
AET首台8K0.7全倒装COB显示屏入驻中央广播电视总台
赛灵思开发的数字频率复用方案为科学探索提供有力帮助
要对空调行业有信心 但首先技术要过关
微雪电子TSOP56测试座简介
华为P20 Lite 2019曝光
浅谈关于功率分析仪选型的问题
谷歌Chrome OS更新的两项实用功能
江苏工业烤箱
雷达水位计在河道水位监测中的应用详情
华为FreeLace无线耳机评测 到底怎么样
全可编程技术,让您的"视"界与众不同
浪涌吸收器在产品测试中的应用