我们都知道机器学习是一门综合性极强的研究课题,对数学知识要求很高。因此,对于非学术研究专业的程序员,如果希望能入门机器学习,最好的方向还是从实践触发。
我了解到Python
的生态对入门机器学习很有帮助。因此希望以此作为突破口入门机器学习。
我将会记录一个系列的学习与实践记录。记录内容主要参考Youtube
中sentdex
发布的视频,有兴趣的读者可以自己FQ到油管看一下。
下面介绍一下我将如何通过Python
入门机器学习。
学习Python基本语法
首先我在Python
官网找到入门教程,快速过了一遍Python
的基本语法。相信对于稍微有点编程基础的人来说这都不是事儿。
作为实践,接着我用Python
实现了一个基于命令行翻译脚本。到此Python
算入门了。
这里啰嗦一下Mac
下的Python
环境的搭建过程。我在这篇文章中介绍如何处理系统自带和自己安装的Python
版本。
Python机器学习相关库
Python
有好多涉及机器学习的库,如Theano
、TensorFlow
、PyTorch
、scikit-learn
等。考虑到scikit-learn
(以后将简写为sklearn
)对机器学习进行了高度封装与抽象,能够让初学者跳出数学的梦魇进行机器学习实践,我选择它作为入门的跳板。
除此之外还需要学习下面几个Python
库,用于数据处理或者科学计算等。
numpy
:提供强大的N维数组及相关操作的库,参考NumPy快速入门笔记。pandas
:提供类似关系型或标签型数据结构的库,参考Pandas快速入门笔记。scipy
:集成众多数学运算函数的库,请自行参考官方文档。matplotlib
:把数据绘制成图像的工具,可以参考Matplotlib快速入门笔记。
出发机器学习冒险旅程
sklearn
提供了很多机器学习的算法实现,在学习过程中我很难做到一个不漏地全面学习与覆盖。经过多番查找,我在Youtube
上找到sentdex
发布的视频“Machine Learning with Python”。至此,我也将跟随sentdex
的脚步一步步进行学习。
后续的文章主要也是参考视频,并结合自己的理解进行必要的扩展。
初次看sklearn
可以读一下官网的Tutorials
文档。
其中“An introduction to machine learning with scikit-learn”章节可以让你初步了解sklearn
这个库能做什么、机器学习基本概念、sklearn
环境搭建、基础功能等。
而“A tutorial on statistical-learning for scientific data processing”章节能让你了解有关监督学习和非监督学习的基本概念。
深入原理
sklearn
能够以黑盒方式提供机器学习算法的实现,这对初学者是有利的。但是如果仅仅停留在这里显然是不够的,如果不掌握一定的基础知识与原理,我们无法对显示问题进行建模与选型。所以在学习了sklearn
的算法后,一定要查阅相关文档,了解算法背后的知识与原理。
这个过程应该是最艰难的,希望我们都不停留在这一步。
本文来自同步博客