[IT技术] 大数据之入门级学习

[复制链接]
tjz001 发表于 2023-10-27 06:27:16|来自:北京邮电大学 | 显示全部楼层 |阅读模式
0.当我们想学大数据时,我们到底想学什么?

当我们说学习大数据时,我们得问问自己,到底是学习什么?

  • 是不是学习怎么观察大数据和表现大数据?
  • 是不是怎么才能装下这么大的数据?大数据存在哪里?大数据怎么取出来用?
  • 还是学习从大数据中挖掘深层信息,从而驱动业务增长?



其实都可以是。上面三个问题,分别对应三个岗位要解决的问题,分别是:

  • 数据分析师。能在拥有行业知识、理解公司业务及流程的情况下,从数据中发现问题,给出自己独到的见解。
  • 数据工程师。数据太多了?选择什么数据容器?数据怎么给到下游?
  • 数据科学家。负责利用大数据建模,从中挖掘有用信息。有的公司也会称之为算法工程师,或者机器学习工程师,至于工作内容,可能不同公司直接会稍有差异。
你可以根据自己内心想学的东西,来确定选择的方向。当然,有没人能三个方向都精通?我相信有,但凤毛麟角,至少在我有限的职业生涯里,还没见到这种多面手,毕竟一个人的精力有限。对于新手而言,还是先不要想着一口吃成个胖子。
如果实在没有头绪,不知道从哪学起怎么办?这三种岗位是否有一些共同的技能或者知识,而且学习了这些知识能让我们更好的选择方向?好消息是,有的。
不论是数据分析师,数据工程师,还是数据科学家,多多少少都涉及到一点彼此的知识领域。如果把对大数据的能力要求做个频谱,那么将如下图这样。蓝绿黄分别对应数据分析师,数据工程师,还有数据科学家的能力频谱。这个图仅仅是大概描述,并不精确,例如有的数据科学家可能更偏分析方向,有的数据科学家更偏工程。


1. 学习交集部分,一石三鸟

从上图里我们可以看到三个岗位直接还是有一点交集的。那么我们从这个交集出发,是否能更快的入门?
当然可以。那么,这个交集里到底有什么呢?个人认为,有以下内容。
1.1 数学

包括两部分,概率论和线性代数。虽然不同岗位对数据要求不一样,但基础的部分最好都掌握一下。
概率论部分你需要掌握这些知识,这里只列举了一些在面试中常考察的知识点,仅作为抛砖引玉:

  • 均值与方差及其公式
  • 什么是正态分布
  • 贝叶斯公式
  • 什么是高斯分布
  • 独立和依赖事件
线性代数部分,这里考虑到大家仅仅是为了入门大数据,所以不把更复杂的知识点列出来。但无论你做什么方向,你得了解这些最基本的:

  • 什么是向量
  • 点积
  • 矩阵相乘
  • 转置矩阵,逆矩阵
1.2 AI 相关知识

如果你打算做数据科学家,我推荐吴恩达的机器学习课程。这可谓是最经典的热门课程了,全球有几百万人注册了。


如果你不打算做数据科学家,你可以看看吴恩达的《AI for everyone》,一门非技术的导论课程,可以帮助你了解一些基础 AI 知识。


1.3 数据分析相关知识

数据分析技能我认为还是比较通用的,即使你不是做大数据相关的,数据分析的能力也能给你职业发展助力。其实,与其说数据分析是一种思维,我认为数据分析更像是一种思维模式。
数据分析所需的能力包括:

  • 互联网行业的常见指标:DAU,GMV,ARPU,用户留存指标,转化率等等,这里就一一介绍了,不然可以列个几千字。
  • 常用的分析思维模型方法,例如:5W2H 分析法,逻辑树分析法,RFM 分析等等。
但数据分析相比起数据科学和数据工程而言,工具很容易掌握,但怎么运用才是难点。
如果你不知道怎么开始学,或者说你想大概了解一下数据分析到底是什么回事,可以试试知乎知学堂职研在线上这一门数据分析的 3 天实战体验课,反正价格也才一毛钱,可以通过这门短短的课程,快速了解数据分析师都用什么思维方式和工具,为啥数据分析师的工资这么高。


1.4 Excel、Python 和 SQL

这几个工具类的一起讲。

  • 搞技术的可能看不上 Excel,觉得太低级。但实际上,Excel 的优势在于通用性。你作为技术人员,你先阐述你的观点,想发报告给运营部门汇报你的发现,你总不能发一段代码过去吧?因此学会 excel 基本的一些操作非常重要,包括常用的公式和操作,例如求和,求平均,VLOOKUP,转置表格等等。如果你有买前面那个 0.1 元的课程,里面也会讲到一些 excel 分析的内容,都是比较实用的。
  • Python 现在已经是最火的语言了,因为足够简单,能做的事情也多,因此甚至很多公司找数据分析师时都要求 Python 了,因为 Python 比起 Excel 来说,虽然涉及到了编程,但灵活性也更高,无论是数据分析还是数据可视化,都有很多好用的包。虽然也有公司在招聘数据分析师时不需要懂 Python,但我个人感觉,未来会越来越多公司招聘数据分析师要求懂 Python,所以,学一下吧。
SQL 的话,无论你做大数据哪个方向,现在基本都要了。即使你是数据分析师,你也不能等着数据工程师给你写 SQL 帮你取数吧?所以基本的一些 SQL 语句,例如表的增删改,表直接的各种 join 这些基本操作,最必须掌握。
2. 怎么深入学习更进一层楼

2.1 数据分析师:我到底该分析什么

我的第一个建议是:选择行业。毕竟不同行业,业务肯定不一样,要分析的内容不完全一样。如果是传统企业,可能更偏重销售分析,你可能更多的的利用 RFM 模型,
第二个建议是:学点技术。据我观察,这几年 Python 和 SQL 慢慢成为数据分析师的标配,尤其是互联网行业。即使你已经当了几年的数据分析师,如果你还没学过 Python 和 SQL,最好还是学一点,增强一点竞争力。
入门书籍方面,我看过两本,挺不错,对我很有启发。
第一本是《深入浅出数据分析》。配图很丰富,语言很幽默,很适合初学者入门。


第二本是《猴子数据分析》,讲得更全面一些,对常用的思维模型和数据指标都有,还有很多行业的分析案例。


不过,毕竟我是数据科学家出身,对数据分析师的工作指导过多容易误人子弟,因此这里就不给太多建议了,如果想了解更多,这两本书或者前面那个 0.1 元的分析课肯定会比我讲得好,老师也能给出更有用的建议。我也看了这个课程,确实也得到了一些启发。
2.2 数据工程师:大数据,你让我又爱又恨

大数据就好像大海,深不见底,但令人神往。处理得好,就能乘风破浪;处理不好,则葬身大海。那么怎么才能在这迷人的深海里驰骋呢?

  • 编程方面:除了 Python,我建议还得学习下 Scala,因为你很大概率会用到 Spark,而 Scala 是其原生语言。
  • 存储:Hadoop HDFS,Hive,HBase 等
  • 处理:Spark Streaming,MapReduce 等等
  • 计算资源管理:YARN,Mesos 等
实际上,大数据处理的工具有上百种,这里仅列举了几种常用的。不过他们解决的问题是相近的,就是:怎么让数据分布在高效多个机器上,且调用时最方便。只要你掌握了一部分工具,你就会发现,其他工具似乎变得不难学了。
2.3 数据科学家:技术和艺术的结合

作为数据科学家,最重要的技能是机器学习。机器学习主要学习的内容有三个:

  • 监督式学习(supervised learning):需要标记数据
  • 非监督式学习(unsupervised learning):不需要标记数据。代表算法:k-means
  • 强化学习(Reinforcement Learning): 如何基于环境而行动,以取得最大化的预期利益。
当然,现在还有半监督学习,自监督学习等等,但它们的基础也是上面讲到的几种方式。
编程语言方面:Python(最常用), R(少数公司用)。软件有的公司会自建 Data Science Studio。也有很多服务提供商提供了 DSS,例如 DataRobot, Dataiku 等。但建议不要依赖语言。Jupyter notebook 是比较适合调试python 的工具,很多课程上会讲到。
数据科学家虽然带了「科学家」三个字,但其实并非真正的科学家,只是做数据科学的工程师,因此,技术很重要。但是,数据科学又不完全是工程,它需要耐心,从看似杂乱的数据中找到金子,这一点又像雕塑家,因此,也有点艺术的感觉。如果你做数据科学家时能感受到技术的魅力同时还感受到艺术的美感,那么恭喜你,走上正道了。
不要停止学习

Data is the new petrol。每年都有新的算法出现。我当年找工作时,《Attention Is All You Need》还没出来,大家讲深度学习,主要集中研究 NLP 和 CV 领域,大家都用 LSTM/CNN,效果不行,就加 layer。
后来《Attention Is All You Need》出来了,Transformer 开始横扫 NLP 领域。随着 ViT 的出现,Transformer 也开始在 CV 领域大展身手。这都是我刚入行时没想到。现在很多问题直接上 transformer,就能得到很好的表现。
大数据工程框架也是一样。数据库装不下了,就数据仓库,数据湖,后面又发展到了湖仓一体。数据处理方式,从批处理,流处理,发展到现在流行的流批一体,也就是几年之间的事。
可以看到,在大数据领域,学会怎么保持学习能力,比学会具体的能力更为重要。
请不要停止学习。Keep Learning!
本文作者:@桔了个仔
全部回复0 显示全部楼层
暂无回复,精彩从你开始!

快速回帖

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则