开篇词:为什么学习可视化,应该怎么学
每一本书或每一个课程,都会有前言或开篇词,但是,很多学习者不喜欢阅读前言,这就大错特错了,因为在前言中往往会包含一些作者想要表达的核心观点。
我的日常工作就是写程序,业余时间也写了几本书,也有幸偶尔会与周边几所大学的一些学生分享某些技术。在与我交流的一些程序员、读者和学生中,会提出很多关于如何学习某项技能的问题——这里指的是软件开发或者大数据、机器学习方面,不包括诸如人际关系等技能。在这里,我把其中的重要问题和回答,整理出来,供读者参考。
跟谁学
这里的“谁”,不仅包括“人”,还包括“物”。
先说“物”。
早先学习的媒介比较简单,就是图书,要学习什么知识,没有其他选择,就是买本书。而现如今,选择就多了,除了印刷版的图书之外,还有电子版、音频和视频,甚至视频还分为微课、慕课和课堂实录等,可谓是五花八门。那么,应该选择什么媒介来学习呢?
很显然,上述问题有一个大前提,那就是“自学”,即自己控制学习过程的学习。如果选择这种学习方式,那就要检讨自我:“是否具有自我控制能力?”。判断标准也比较简单,那就是回头看看在自己的求学过程中,是否运用过这种能力?如果答案是肯定的,那么面对这次自学,就会有信心、有方法了;如果是否定的,并不意味着这次不能自学,而是要为自己的这个“第一次”好好谋划一番了。
检讨完自己,确立能够自学,就继续下面的操作;否则,请跳过,直接找一个老师,别吝惜多花钱,从长远来看,最好的投资是跟着老师去学。自学,并非适合任何人。
再回到刚才的问题,选择哪一种学习媒介?
我的回答是:要了解自己,根据自己的情况而定。
比如,自己比较擅长阅读,那么就可以选择借助书(包括印刷版和电子版)来学习;如果看书时间稍长,就犯困,建议还是选择视频媒介稍好一些。但是,即便如此,我也建议要有一本相关的书,因为它能够让我们随意翻阅,可以随时解决某些棘手问题——或许搜索引擎更适合?非也!对于一个初学者,搜索引擎给出的东西太庞杂了,难以找到答案。
“物”选好之后,就要选“人”了。
不论选择书还是线上或线下的课程,都有一些大师或名师,俗话说“名师出高徒”——更符合我们内心的应该是“大师出高徒”。因此,要找一个超级牛的人,比如在大厂工作过的顶级开发者、名校的名教授等,只要看了他们的书、听了他们的课,就能达到登峰造极之高度,再不济至少也要快速掌握。
这是很多人的想法,也能理解,谁不希望以最小的投入来获得最大的产出?最好是“不劳而获”。
只是残酷的现实不断地告诉我们,“大师”和“高徒”之间,不是正相关的。请看下面的思想实验。
思想实验是指:使用想像力去进行的实验,所做的都是在现实中无法做到(或现实未做到)的实验。例如,爱因斯坦有相对运动的著名思想实验。思想实验需求的是想像力,而不是感官。
假设某名校,有一个宇宙级的大师教授人工智能课,每年听课的学生有 60 人,该大师在该校授课 10 年,累计有 600 名学生。如果“大师”与“高徒”正相关,那么新的宇宙级大师应该至少有几百名。
但,上述推论与事实不符合。
“名师(大师)出高徒”,只是听起来很好,符合个人的愿望罢了,但不是客观真理。
什么原因?
因为他们不是专门针对你的。
所以,选“人”的标准不是看其头衔,而是看其提供的学习内容是否适合自己。特别是“小白”,更要以通俗易懂的学习资料入手,跟着能“深入浅出”地讲述的“好老师”去学。
学什么
这个问题其实很难回答。因为就编程而言,可以学习的东西就很多了,现在又有大数据、机器学习、人工智能等领域。
至于学什么,拷问的应该是自己,而不是问别人。检视自己擅长什么、喜欢什么,未来有什么规划,根据这个来确定学什么。
有的人也列出了一些非常简明扼要的判断标准,比如:
- 什么方向工资高,就学什么
- 现在媒体上宣传什么,就学什么
- 大师说学什么,就学什么
- 招聘网站上什么岗位多,就学什么
是否可以据此确定学习内容,此处不置可否。还是做一个思想实验。
假如时光倒退 20 年。在 20 年前,用上面的标准看一看,应该学什么?什么也不需要学,专门买房子(得有好爹)就可以了!
选择学什么的确很困难。高考报志愿的时候,众多家长都纠结于孩子要学什么专业的问题。
除了上帝,谁都不晓得未来什么样,与其纠结某个具体的专业,不如学“万人敌”。
籍曰:“书足以记名姓而已,剑一人敌,不足学,学万人敌。”
——《史记·项羽本纪》
每个领域,都会有一些沉淀下来的基础知识和技能,这是要学的。此外,更重要的是“学习能力”,学习内容是增长学习能力的载体,学习能力就是“万人敌”。
因此,本课程从始至终,会贯彻一个宗旨:提升学习能力,不是唠唠叨叨地诉说知识点。
怎么学
关于学习方法问题,很多书中都有所论述,此处不详述,因为方法都差不多,关键是能不能执行的问题。
学习是一个苦差事,我们从本性上是排斥的。
因此,古人云“书山有路勤为径,学海无涯苦作舟”。
有了“肯吃苦”的思想准备之后,如下具体操作方案,供读者参考:
- 认真阅读书中的每句话,并且反问自己是否理解了,如果没有理解立刻 Google 相关的信息,这就是把书读厚的理念。
- 要理解书中的程序示例,逐行理解,甚至于逐行注释,并且,一定要自己亲自敲代码,千万不要复制代码。
- 在上面的基础上,独立地把示例程序写出来,并进行调试。如果遇到了问题,比如报错了,此时应该“闻过则喜”,因为这是进步的阶梯,务必对照书上的讲解,反思自己写的代码。
- 要阅读有关技术文档,不论它是中文的还是英文的——这点很重要,千万不要因为语言问题而放弃阅读。
- 用 Google 搜索(这里不是在做广告,我也不是‘美分’什么的,只是介绍个人的经验),并且不限于使用中文作为搜索关键词。
如果有条件,还建议多参加一些有关技术的专题活动,比如社区活动等,不仅能扩展自己的视野,还能结交很多同道中人。
为什么学“数据可视化”
说的有点多了,现在才回到正题。
如果有志于在大数据、机器学习、人工智能领域从业的话,“数据可视化”是必不可少的,因此说不得不学。
接下来就会有另外一个问题:为什么要选择本达人课作为学习资料?
那就要了解本达人课为读者做了什么。
深入浅出阐述有关知识点和技能,同时“授人以渔”,这是核心目标。
介绍目前常用的几种工具,当然不可能穷尽所有工具,挑选了部分具有代表性的。
- Matplotlib
- Seaborn
- Plotnine
- Plotly
- Pyecharts
- Bokeh
在讲解的过程中,配以丰富的示例。
其他说明
本达人课的所有程序都是基于 Python 语言(Python 3.x 版)来写的,需要做好如下准备。
- 准备一台适合开发用的计算机,不论是台式机还是笔记本均可。但是,它是否适合开发?只要不是太古老的机器,硬件方面都差不多,关键是操作系统。本达人课中的所有演示都不是基于 Windows 操作系统(也算是我的偏执吧),我不习惯把 Windows 操作系统列位于适合开发的环境,倒是在日常办公方面比较适合,在开发方面我习惯使用 Linux 或者 Mac OS 操作系统。读者可根据自己的喜好选择。本达人课的所有代码,是跨平台的,跟用什么操作系统无关。
- 已经能够使用 Python 语言编程。
- 掌握 Numpy 和 Pandas 的基本知识。
这是学习本达人课内容的前置条件。
这些都准备好之后,就开始学习。
课程大纲
本课程分为七大部分,共计 28 篇(含开篇词和结尾)。
准备部分(磨刀不误砍柴,第 0-1 ~ 0-3 课),介绍数据科学工程师的工作流程以及数据可视化的必要性,并且指导学习者安装有关工具。通过这部分的学习,能够对数据科学以及从业者的工作有个总体认识,晓得数据可视化的地位,并在本地计算机安装有关工具。
第一部分(开山鼻祖:Matplotlib,第 1-1 ~ 1-6 课),介绍 Python 语言生态中虽然古老但依然被使用的数据可视化工具 Matplotlib。通过这部分的学习,能够掌握 Matplotlib 的应用思想和方法,并能够绘制常用的统计图。
第二部分(后起之秀:Seaborn,第 2-1 ~ 2-5 课),介绍基于 Matplotlib 发起而来的一种常用的可视化工具 Seaborn。通过这部分的学习,能够掌握 Seaborn 的特点,并熟悉常用统计图的绘制方法。
第三部分(另立门派:Plotnine,第 3-1 ~ 3-3 课),Plotnine 是根据图层概念制图的工具,不同于前面两部分的工具。通过这部分的学习,能够理解图层的概念以及在制图中的应用,掌握 Plotnine 灵活制作个性化图示的方法。
第四部分(特立独行:Plotly,第 4-1 ~ 4-4 课),Plotly 是一款能够“两栖作战”的工具,既能得到静态图片,也能生成动态交互的图示,即从这部分开始,制图工具进入“交互”阶段。通过这部分的学习,能够掌握常用统计图(具有交互功能)的绘制,并可以生成 HTML 文件。
第五部分(中华武功:Pyecharts,第 5-1 ~ 5-2 课),Pyecharts 是非常好的国产工具——中文文档,非常可亲近。Pyecharts 提供的工具和色彩渲染上,都比前述工具有所突破。通过这部分的学习,能够掌握 Pyecharts 的使用方法,特别是利用它实现地理信息可视化和基于 Web 项目发布可视化图示。
第六部分(岛国薄纱:Bokeh,第 6-1 ~ 6-3 课),这是一款来自岛国日本的可视化工具,除了完成通常的操作之外,在交互功能上,比 Plotly 和 Pyecharts 更有特色。通过这部分的学习,能够掌握 Bokeh 的使用方法,特别是 Bokeh 自带服务,能发布基于网络的图示。
课程寄语
最后送上励志名言:
努力面前,忘记背后,向着标杆直跑。
当遇到貌似无法克服的困难时,当怀疑自己是否能够学会时,当受到其他诱惑想放弃时,请来读一读这句话。
开始!
开篇词:为什么学习可视化,应该怎么学相关推荐
- IT风云录(开篇词):我们从David Cutler学到什么?
David Cutler何许人也?Google一把你就明白了.2008年获得了美国国家科技和创新奖章,这个奖大概相当于我们国家一年一度的国家科技奖吧,无论如何这是一种不平常的荣耀.尽管他的故事还没有真 ...
- 面试官系统精讲Java源码及大厂真题 - 01 开篇词:为什么学习本专栏
01 开篇词:为什么学习本专栏 更新时间:2019-10-30 10:08:31 才能一旦让懒惰支配,它就一无可为. --克雷洛夫 不为了源码而读源码,只为了更好的实践 你好,我是文贺,Java 技术 ...
- 开篇词:中文自然语言处理——未来数据领域的珠穆朗玛峰
人工智能或许是人类最美好的梦想之一.追溯到公元前仰望星空的古希腊人,当亚里士多德为了解释人类大脑的运行规律而提出了联想主义心理学的时候,他恐怕不会想到,两千多年后的今天,人们正在利用联想主义心理学衍化 ...
- 面试精讲之面试考点及大厂真题 - 分布式专栏 01 开篇词:我是怎样带你通过大厂面试
01 开篇词:我是怎样带你通过大厂面试 自信和希望是青年的特权. --大仲马 学习编程是一场修行,要经历从 0 到 1,普通人从自己的错误中学习,聪明人从别人的错误中学习. 授人以鱼不如授人以鱼杆儿, ...
- 微信小程序开发开篇词 自顶向下,云端赋能:小程序的高效开发之道
你好,我是周俊鹏,做前端开发已经 6 年多了,目前我就职于腾讯云 TCB 团队,负责腾讯云开发 CloudBase 前端相关的研发和生态建设工作.我可以说是第一批次的微信小程序开发者,2016 年 9 ...
- Vue 3的企业级项目开发开篇词|为何掌握了技术API,依然在项目中处处掣肘?
开篇词|为何掌握了技术API,依然在项目中处处掣肘? 你好,我是杨文坚,欢迎跟我一起学习Vue 3的企业级项目开发. 从中山大学毕业后,我一直在从事前端开发的相关工作,期间就职过腾讯和阿里巴巴等互联网 ...
- 知乎Live上线-学深度学习我们到底在学什么
文章首发于微信公众号<有三AI> 知乎Live上线-学深度学习我们到底在学什么 文/编辑 | 言有三 很简单,今天就是预告一下我的知乎Live,将在3-30 12:00开讲,地址如下: h ...
- 深度学习(四十二)word2vec词向量学习笔记
word2vec词向量学习笔记 原文地址:http://blog.csdn.net/hjimce/article/details/51564783 个人微博:黄锦池-hjimce 一.使用原版word ...
- 精准医学中的深度学习和影像组学
影像科正在经历一种范式转变,即使用人工智能与机器集成以及深度学习与影像组学更好地定义组织特征,从而实现计算机科学与影像学的共生关系.研究的目标是使用集成的深度学习和具有影像学参数的影像组学来为患者进行 ...
最新文章
- awk脚本打印终端各种颜色的字体
- Jupyter 环境配置
- html div数据替换,javascript – 将html添加到div而不替换其中的当前内容
- spring mvc事务没有生效的原因
- html字体代码大全_Vba群发邮件及HTML设置字体格式的代码
- 《Too Much Heaven》
- python生成uuid_咸鱼高赞回答:有什么相见恨晚的Python技巧,附赠python最新教程...
- qt c语言socket,c – Qt双向客户端服务器使用QTcpSocket和QTcpServer
- JavaScript面向对象:类、方法、属性
- 谷歌发布2012年搜索上升最快关键词 江南style上榜
- python求解LeetCode习题Find Peak Element in Given num_list
- markdown测试文章
- 海康威视球形摄像头激活,web二次开发
- Solidity教程一
- HTML5支持rpx,css小程序的元素尺寸单位px,rpx及rem
- ESP32-CAM、ESP8266、WIFI、蓝牙、单片机、热点创建嵌入式DNS服务器
- Intel主板芯片组发展历史
- learn java step by step day14
- ex2 ex3_他甩了我后,我Ex了我的前任
- JSP+SQL基于WEB的开放性实验管理系统设计与实现(源代码+论文+开题报告+中英文献+答辩PPT)