一名数据分析师的机器学习历程
导读
笔者的上一个角色是一名数据分析师,期间重点把数据分析岗必备的技能都刷了一遍,包括ESP基础套餐(Excel + SQL + Python)、Python数分三剑客(Numpy + Pandas + Matplotlib),而后作为SQL的拓展学习了Hive,作为Pandas的拓展学习了Spark,作为Matplotlib的拓展学习了Tableau。应该讲对于一名纯粹的数据分析岗位而言,这样的技术栈是够用的,随后应当不断深化业务知识才是王道。但随着当下大环境的"卷"字当头,数据分析师技术栈的要求也是水涨船高,所以机器学习算法便逐渐成为广大数据分析师首当其冲的攻占目标!
今天,本文就来梳理下笔者学习机器学习算法的经历,与此对应的系列前文包括:
在攻克机器学习算法之前,笔者已经有熟练的Python基础(主要是Numpy要熟练)和系统的数学功底,但也因时间久远而存在基本概念和原理公式的遗忘等。以此为大前提,我的机器学习算法学习历程可主要分为以下三个层面:
刷视频,重在迅速建立宏观框架和系统认知
读书籍,重在追究原理和实战运用
学文档,重在查漏补缺和不断深化
值得指出,这三个层面并不见得一定要顺序执行或者有严格先后,通常情况下交叉迭代往往更得其要。
注:本文纯粹是笔者学习过后的推荐,其中涉及的视频和书籍推荐不掺杂任何成分。
机器学习在当下算是非常火爆的一个学科,对应的数据挖掘工程师、算法工程师、机器学习工程师等互联网企业的岗位title也是高度盛行。需求决定市场,网上的学习资源也是不计其数。然而,越是资源繁多,越容易对初学者造成鱼龙混杂的模糊认识。所以,笔者这里重点推荐3套视频,笔者都曾系统刷过至少一遍以上,并兼顾原理讲解和实战运用:
《数据挖掘:理论与算法 》,清华大学深研院袁博老师,发于学堂在线,目前报名人数11万+。课程侧重从理论的高度深入浅出、追根溯源且颇具哲学辩证的讲解机器学习算法原理,该套课程获评国家级精品课,通篇学下来给笔者的感觉是醍醐灌顶而又意犹未尽!ps:虽然官方发于学堂在线,但某站其实早已随处可看!
《Python3入门机器学习》,慕课网bobo老师的大作,相较于前一个纯院校派的教学视频,bobo老师的课程更加注重结合Python3的实现,但也兼顾了理论高度甚至是哲学思考,更重要的是bobo老师的讲课风格也颇受笔者所喜欢。课程虽好,但与第一套视频可完全免费学习不同,这是一套付费的课程。
《菜菜的机器学习sklearn课堂》,可能很多从事机器学习工作的应该都对此有所了解,菜菜是某培训机构的老师,而且从视频课程的名字也能看出,该套视频更加注重机器学习实战,更准确的说是运用sklearn的机器学习实战。课程讲解非常详细,大到原理小到参数设置都事无巨细,非常适合初学。该套课程也是有收费的,但其本人在某站其实也有公开发布,所以也可在那里学习以表支持。
与机器学习教学视频比比皆是的现状类似,相关书籍其实也是比比皆是。也是为了减轻选择恐惧症,这里笔者重点推荐两本书,都是几乎完整阅读过的,所以具有一定的发言权:
《机器学习》,作者:周志华。这是一本号称西瓜书的机器学习圣经级读物,全书以西瓜的好坏分类作为切入点和引线,深入浅出讲解主要算法,加之配以西瓜的封面,因而得名西瓜书。个人认为,这本书在理论层面讲解机器学习是相当到位的,在国内书籍中应该也是翘首级的存在,似乎做些什么介绍都显得多余。
当然,还有与之对应的是李航老师的《统计学习方法》,但由于笔者未阅读过,所以不做对比。
《Python数据科学手册》,图灵动物书之一。该书其实组织结构非常简单:主要是5个章节,除了首长介绍了ipython和jupyter使用之外,后续4个章节分别介绍了Numpy、Pandas、Matplotlib以及Sklearn等4个库的基本使用。虽然结构简单,内容也并无太多新意,但个人觉得对于一名要学习机器学习算法的数据分析师而言,这样的成书结构是非常合适的。相较于西瓜书侧重理论宣贯,本书更像是对常用算法提供了一个基本使用的demo,可以当做是如何在sklearn中使用机器学习算法吧。
刷视频和看书是常用的入门学习方法,但阅读简短而精华的文档其实也是高效的学习方法。而提起学习文档,大家首先想到的可能是某些公众号文章、某些平台的博客以及一些大佬整理的学习心得,但学习机器学习最好的文档其实当属sklearn的官方文档(当然,很多其他技术的官方文档都可以称为最好,比如MySQL,但也不完全如此),甚至说相比于Numpy、Pandas这些官方文档而言,个人真的认为sklearn的官方文档简直是写的太好了:既有算法原理的介绍,也有详尽的API参数配置说明,更重要的组织结构非常清晰、讲解也是很易懂,甚至说直接把官方文档整理成册就可以直接印刷出版了!
sklearn官方文档
英文文档:https://scikit-learn.org/stable/
中文文档:https://www.cntofu.com/book/170/index.html
附个人sklearn学习笔记:
最后,相较于技术工具更为明确固定的数学分析师而言,机器学习算法的学习之路显然更加漫长而陡峭,如果再考虑涉猎深度学习乃至强化学习,那么其无尽的更新迭代也足够称得上艰辛,但作为一名有追求的技术人,自我成长不应本该如此吗!
相关阅读: