scikit-learn从小白到菜鸟——学习指南

Q:这篇指南适用于那些读者?

A:
如题所说,是在机器学习方面的小白,但同时不能太白。首先得会用一点python(知道导入包、变量类型、条件控制、循环、数据类型、函数调用、列表、元组、字典、集合等)。其次得装好了scikit-learn包,以及相应的配套包(numpy、scipy、matplotlib)。最后的话,应当了解以i但机器学习的基础知识,比如分类、回归、聚类常用的算法的名字及其适用情况。

Q:作为一个小白,我应该从哪里下手?

A:
学习一个软件,不着急去看软件的各个按钮和模块,而应先了解这个软件所为之服务的工作的业务流程。

机器学习的大致流程都是:数据获取——数据预处理——选择学习算法——训练模型——模型优化——可视化等。

scikit-learn大体分成了六部分,其中clasification、regression、clustering都是主要的学习算法。demensionality reduction、preprocessing是用来数据预处理的。model selection则是用来做模型评估和优化的。

scikit-learn官网首页列出了各部分的一些模块:


图1

虽说训练算法只占了机器学习过程中20%甚至更少的时间,但是选择一个合适的算法毫无疑问是最重要的。怎样选择一个合适的算法?

scikit-learn作为一个成熟而功能强大的python机器学习库,提供了一个做机器学习工作时的参考流程。不废话,先贴张图:


图2

图片的地址在这里:机器学习工作参考流程图

上面的参考流程图告诉了作为小白的我们,不同数据大小、不同数据类型、不同任务目标的条件下我们应该选择那些算法(模块)。

数据预处理、选择学习算法、训练模型、模型优化等步骤都有相应的模块,但是没数据怎么办?scikit-learn为我们准备了一些小规模的数据集,全部在sklearn.datasets这个模块里。

(数据可视化先不管)这样我们就明确了机器学习的工作流程,同时我们也知道了我们应该学习哪些模块——图1和图2中的模块加起来,再学习一个datasets模块,就可以从小白迈向菜鸟。

Q:明确了学习任务后,怎样开始学习?

A:
scikit-learn官网有一个快速上手文章和一份简单教程,另外还有一份详细的用户手册和API手册。作为一个小白,只需要老老实实拿出笨功夫照着快速上手文章和简单教程练一遍,就能找到一点感觉。然后对照这上面俩图的模块,去用户手册那里弄懂这些模块即可。

什么?英语不好看不懂?那赶紧回去补啊!

你可能感兴趣的:(scikit-learn从小白到菜鸟——学习指南)