admin管理员组

文章数量:1487745

程序员如何正确学习数据分析?

l

掌握数据,就是掌握规律:

  • 当你了解市场数据,对它分析,就可得到市场规律
  • 当你掌握了产品自身的数据,对它进行分析,就可以了解产品的用户来源、用户画像等

1 谈论数据分析时,都在讲啥?

数据分析分成三个重要部分:

  1. 数据采集。原材料,也最“接地气”,因为任何分析都要有数据源
  2. 数据挖掘。最“高大上”部分,也是整个商业价值所在。数据分析,就是要找到其中的规律,来指导业务。因此数据挖掘的核心是挖掘数据的商业价值,也就是我们所谈的商业智能 BI
  3. 数据可视化。它可以说是数据领域中万金油的技能,可以让我们直观地了解到数据分析的结果。

1.1 数据采集

在数据采集部分中,你通常会和数据源打交道,然后使用工具进行采集。

在专栏里,我会告诉你都有哪些常用的数据源,以及如何获取它们。另外在工具使用中,你也将掌握“八爪鱼”这个自动抓取的神器,它可以帮你抓取 99% 的页面源。当然我也会教你如何编写 Python 爬虫。掌握 Python 爬虫的乐趣是无穷的。它不仅能让你获取微博上的热点评论,自动下载例如“王祖贤”的海报,还能自动给微博加粉丝,让你掌握自动化的快感。

1.2 数据挖掘

第二个部分是数据挖掘,它可以说是知识型的工程,相当于整个专栏中的“算法”部分。首先你要知道它的基本流程、十大算法、以及背后的数学基础。

这一部分我们会接触到一些概念,比如关联分析,Adaboost 算法等等,你可能对这些概念还是一知半解,没有关系,我会详细为你介绍这些“朋友”。

每讲完一个算法原理,我都会带你做一个项目的实战,我精选了一些典型的、有趣的项目,比如对泰坦尼克号乘客进行生存预测、对文档进行自动分类、以及导演是如何选择演员的等等。

掌握了数据挖掘,就好比手握水晶球一样,它会通过历史数据,告诉你未来会发生什么。当然它也会告诉你这件事发生的置信度是怎样的,置信度这个词你先记住就可以了,后面我们来学习它具体代表什么。

1.3 数据可视化

第三个就是数据可视化,这是一个非常重要的步骤,也是我们特别感兴趣的一个步骤。数据往往是隐性的,尤其是当数据量大的时候很难感知,可视化可以帮我们很好地理解这些数据的结构,以及分析结果的呈现。

如何进行数据可视化呢?有两种方法。

第一种就是使用 Python。在 Python 对数据进行清洗、挖掘的过程中,我们可以使用 Matplotlib、Seaborn 等第三方库进行呈现。

第二种就是使用第三方工具。如果你已经生成了 csv 格式文件,想要采用所见即所得的方式进行呈现,可以采用微图、DataV、Data GIF Maker 等第三方工具,它们可以很方便地对数据进行处理,还可以帮你制作呈现的效果。

数据采集和数据可视化的原理简单,容易理解。这两个部分注重的是工具的掌握,所以我会把重点放在讲解工具以及应用实战上。

虽然这些理论我会给你一一讲解,但纸上得来终觉浅,绝知此事要躬行。手拿地图,我们知道要去哪里,但是怎么去呢?我认为学习数据分析最好的方法是:在工具中灵活运用,在项目中加深理解

修炼指南

数据分析全景图包括数据采集、数据挖掘、数据可视化三部:

  • 东西很多,无从下手?
  • 感觉数据挖掘涉及好多算法,有点“高深莫测”,掌握起来是不是会吃力?

都是不必要的烦恼。开头介绍 MAS 学习法,学习数据分析就是从“思维”到“工具”再到“实践”的一个过程。本文从更多角度和你分享学习经验,把今天的内容叫“修炼指南”。

借用傅盛的话来说,人与人最大的差别在于“认知”,所谓成长就是认知的升级。

很多人存在对“认知“的误解,认为认知不就是概念么?那么你有没有想过,针对同一个概念,为什么不同的人掌握的程度是不一样的呢?

我们只有把知识转化为自己的语言,它才真正变成了我们自己的东西。这个转换的过程,就是认知的过程。

咋提升学习吸收能力?知行合一。

若认知是大脑,那么工具就好比我们的双手,数据工程师和算法科学家每天打交道最多的就是工具。

若你开始做数据分析项目,已思考好数据挖掘的算法模型,请牢记

2 原则

2.1 不重复造轮

很多公司有数据采集需求,他们认为某些工具不能满足他们个性化需求,决定招人专门做这项工作。结果咋样?做了 1 年多的实践,工资投入几十万, Bug 一大堆,最后还是选择第三方工具。耗时耗力,还没成效。

一个模型是否有相关类库可用——几乎是每个程序员入行被告知的第一条准则。大部分情况下你都能找到类库来完成想法验证。

2.2 工具决定效率

“不要重复造轮子”意味着首先需要找到一个可以用的轮子,即工具。我们该如何选择呢?

取决于工作,工具无好坏分,只有适合否。除去研究型工作,大部分case,工程师会选择使用者最多的工具:Bug 少、文档全、案例多。如 Python 处理数据挖掘有很多第三方库,都有大量用户和帮助文档,后续介绍最常用工具。

选择好工具,就要积累 “资产”。难记大段知识点,也背不下指令,但通常能记住故事、做过的项目、做过的题目。这些题目和项目是你最先行的“资产”。

咋快速积累“资产”?

3 熟练度

题目完成只是第一步,关键在训练工具使用“熟练度”。当熟练度增加,你的思考认知模型也在逐渐提升。这也就是为啥 crud 还能区分初中高级开发工程师。

4 总结

认知三步曲:认知-工具-实战。人与人最大区别就在认知”。

很多老实人很听上课的理论,但这些理论最后又都还给老师。所以学习务必做到:

  • 记录每天认知。尤其每次学习后,对知识点的自我理解。
  • 这些认知对应工具的哪些操作。用工具来表达你对知识点的掌握,并用自己的语言记录下这些操作笔记。
  • 做更多练习来巩固你的认知。我们学习的内容对大部分外人就像“开车”,很酷。学习的内容,对于要掌握的人也像“开车”,并不难。你要的就是更多刻意练习。

本文标签: 程序员如何正确学习数据分析