今天咱们聊聊数据分析岗位入职必备哪些工具,主要针对已经拿到offer的同学们,可以提前学习了解起来啦~
数据分析的岗位介绍我前面已经讲过了,想详细了解的同学欢迎爬楼翻看~
简单来说,数据分析师就是从一大堆数据中找出有用的信息。通常所说的数据分析岗位这个大类,细分的话还可以分为3个细类:
我对常用工具按照工作流程角度进行了分类,列举了1个或者多个工具,并给出了从工作实用视角看学生具备相关能力的必要性,N颗星,星级越高必要性越大。
Hadoop Distributed File System,简称 HDFS,是一个分布式文件系统。HDFS 有着高容错性的特点,并且设计用来部署在低廉的硬件上。而且它提供高吞吐量来访问应用程序的数据,适合那些有着超大数据集的应用程序。HDFS 放宽了POSIX 的要求这样可以实现流的形式访问文件系统中的数据。
数据存储技术,是很底层的技术,一般是数据平台研发或者运维的岗位才会重点涉及。数据分析岗位同学涉及较少,但是为了知识面广需要了解到。
SQL(Structured Query Language的缩写)是一种操作数据库的语言,包括创建数据库、删除数据库、查询记录、修改记录、添加字段等。SQL 虽然是一种被 ANSI 标准化的语言,但是它有很多不同的实现版本。SQL 是关系型数据库的标准语言,所有的关系型数据库管理系统,比如 MySQL、Oracle、SQL Server、MS Access、Sybase、Informix、Postgres 等,都将 SQL 作为其标准处理语言。
SQL是数据加工中最基础也是应用最广泛的工具(没有之一),即使是后续要介绍的Spark也提供SparkSQL以增加受众。SQL对于使用人员来说,优点是:语法简单、学习门槛很低、易于上手;但缺点是:灵活度差、和传统的面向过程或者面向对象的编程思维都不同。这就导致,对于复杂问题SQL的解决方式难度急剧增加。
数据加工在所有数据相关岗位日常工作中,都有非常大的比重(50%以上)。毕竟原始数据距离最终要得出结论,中间的所有过程几乎都离不开数据加工。数据分析同学要做出科学决策,首先要知晓这个迭代需要观测哪些指标,这就需要数据加工开发出这些指标,比如电商业务的点击PV、购买PV、GMV等等。其次要根据AB实验结果进行分析诸多指标的变化,这些都离不开数据加工。
Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是——Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。
Spark 是一种与 Hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使 Spark 在某些工作负载方面表现得更加优越,换句话说,Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。Spark 是在 Scala 语言中实现的,它将 Scala 用作其应用程序框架。与 Hadoop 不同,Spark 和 Scala 能够紧密集成,其中的 Scala 可以像操作本地集合对象一样轻松地操作分布式数据集。
Spark有如下特点:1)简单:同时支持批量和流式数据;2)高效:分布式SQL执行引擎;3)大规模数据:能够支持PB级别数据处理;4)一体化:同时支持数据处理和机器学习。
Spark有非常丰富的生态系统:
Spark的功能模块主要有4部分:1)SQL:基本的数据处理框架,是使用频率最高的模块;2)Spark Streaming:处理流数据的框架;3)MLib:机器学习的基础库;4)GraphX:图计算的基础库。
Spark相比于传统SQL,主要是数据规模化方面的进步,也就是更加适配于大数据场景。对于当前绝大部分公司,数据量已经达到GB、TB量级,这样规模的大量分析,传统数据库和SQL无法支持,必须依赖类似于Spark这样的分布式计算平台才能进行,是大规模数据加工必不可少的工具。
Pandas和Numpy是Python中最核心的数据分析库,广泛应用于数据处理和科学计算领域。Pandas以其强大的数据处理能力而闻名,特别适合于处理和分析结构化数据;Numpy则以高效的数值计算能力著称,尤其在处理大型数组和矩阵方面表现出色。这两个库通常被一起使用,以处理复杂的数据分析任务。
掌握Pandas和Numpy对于数据分析师至关重要,它们提供了数据清洗、转换、分析和可视化的强大工具。这些库能够帮助分析师高效地从原始数据中提取有价值的信息,为决策提供支持。
Matplotlib是一个第三方Python 2D绘图库,和Numpy、Pandas一起享有数据分析“三剑客之一”的盛名。Matplotlib已经成为 Python 数据分析可视化的必备高级工具。它可以在各种平台上以各种硬拷贝格式和交互式环境生成出具有出版品质的图形。Matplotlib可用于Python脚本,Python和IPython shell,Jupyter笔记本,Web应用程序服务器和四个图形用户界面工具包。Matplotlib试图让简单的事情变得更简单,让无法实现的事情变得可能实现。只需几行代码即可生成绘图,直方图,功率图,条形图,错误图,散点图等。
为了简单绘图,pyplot模块提供了类似于MATLAB的界面,特别是与IPython结合使用时。对于高级用户,可以通过面向对象的界面或MATLAB用户熟悉的一组函数完全控制线条样式,字体属性,轴属性等。它能够很方便地画出如下可视化的图:
数据可视化是数据岗位的一个重要能力,因为运营、产品是非常重要的合作伙伴,我们产出的结果往往是给他们看的,可视化能够更好地让他人接受到你的数据要传达的信息。因此,数据可视化是日常数据加工和指标监控的必备工具。作为数据岗的同学,对负责的业务,必须清楚地明确需要观测哪些指标,以及用什么样的可视化图能够最恰当地展现信息。
Tableau是当今数据专业人士使用率较高的数据可视化工具之一。Tableau作为一款商业智能软件整合了数据管理、数据清洗、数据分析、数据可视化、数据预测等等数据分析过程,通过自助式和敏捷的手段高效传递数据信息、辅导商业决策。因为其简单的拖拉拽的轻便操作、高颜值的图表视觉以及灵活的交互,Tableau受到来自世界各国数据爱好者的喜爱,目前是国外企业首选的、与PowerBI并列的数据和处理分析工具。
优点:入门容易、操作简单、贯穿数据全流程、图表颜值高、激发无限创意创作能力。
缺点:入门容易精通难、不擅长数据清洗、无法处理高级建模。
Scikit-Learn是Python中最受欢迎的机器学习库之一,以其简洁、易用、高效的特点广受数据科学家的青睐。该库提供了广泛的机器学习算法,包括分类、回归、聚类和降维,同时还支持复杂的数据预处理和模型评估工具。
对于数据分析师来说,Scikit-Learn是一个强大的工具,可以帮助他们快速实施和评估各种机器学习模型。无论是传统的统计模型还是先进的预测算法,Scikit-Learn都能够提供高效的实现。
如今,大多数互联网产品野蛮生长的时代已经过去,人口红利到顶,产品策略需要从快糙猛的跑马圈地方式转向深耕细作精细化运营方式,要精细化运营,就需要采用数据来驱动。A/B 实验也被称为 A/B 测试,实验的基本思路是在线上流量中取出一小部分(较低风险),完全随机地分给原策略 A 和新策略 B(排除干扰),再结合一定的统计方法,得到对于两种策略相对效果的准确估计(量化结果)。这一套基于小样本的实验方法同时满足了低风险,抗干扰和量化结果的要求,因此不论在互联网产品研发还是科学研究中,都被广泛使用。
常见的A/B实验流程如下图所示:
其中,实验方案设计部分,需要确定改动点是什么,目标优化的指标是什么,期望的提升是多少,从而确定最小实验样本量。随机分流部分,需要确定根据uid还是请求id来分流,并且需要保证不同实验运行的正交性。AB实验标记埋点部分,是为了后续指标计算时候能够区分A/B桶。指标计算部分,是计算A/B桶的各个指标是多少,以及置信度是多少。最终的决策报告完成,需要将前序所有流程整理汇总,尤其是指标计算需要全面,从而给出决策建议。整个流程中,科学性是贯穿始末的,每个环节都需要严格满足条件,才能保证最终的决策是可靠的。
A/B实验平台是当前各大公司主流的决策工具,是每个技术、产品迭代都需要经历的流程,而数据科学岗位则是对此流程的第一负责人。因此,A/B实验平台背后所蕴含的理论基础和关键实现点,同学们必须重视。只有理解到位了,才能保证工作中能够正确、科学地给出决策结论。
excel是一款电子表格软件,由一系列和行组成的,形成一个个网格,一个网格就是一个单元格,单元格可以存储文本,数字,公式等元素。具备:数据存储、数据分析、数据计算、数据可视化等功能,是日常办公软件中最常用的之一。
日常过程中对于结果的呈现,或者是一些汇报工作,对于加工后的数据一些简单的操作和可视化,往往还是借助于Excel完成,数据岗位经常会和产品、运营等非技术岗位同学合作,Excel作为最普遍的数据工具,仍然发挥着巨大作用,因此需要熟练使用。
PyTorch是一款开源的机器学习库,由Facebook的人工智能研究团队开发和维护。它被广泛用于计算机视觉和自然语言处理等领域,受到学术界和工业界的青睐。PyTorch的主要优点包括:1)直观的接口和易于使用的API,使得构建和测试深度学习模型变得简单;2)动态计算图提供了高度的灵活性,有助于研究和开发;3)强大的社区支持和丰富的教程资源,使得学习和应用变得容易。
PyTorch的核心是动态计算图(Dynamic Computation Graphs),使得用户在每个步骤都能看到并调整计算,非常适合快速原型制作和研究。
作为一名数据分析师,掌握PyTorch不仅有助于开展机器学习和深度学习相关的工作,而且可以在数据分析中引入更先进的模型和算法。PyTorch的灵活性也适合与业务算法团队合作,共同探索数据潜力,开发创新的解决方案。
TensorFlow是由谷歌人工智能团队谷歌大脑开发和维护的深度学习平台,目前人工智能领域主流的开发平台,在全球有着广泛的用户群体。有着如下优点:1)优秀的架构设计,通过张量流进行数据传递和计算,用户可以清晰地看到张量流动的每一个环节;2)可以轻松地在CPU/GPU上部署,进行分布式计算,为大数据分析提供计算能力的支撑;3)跨平台性好,灵活性强。TensorFlow不仅在Linux、Mac、和Windows系统中运行,甚至可以在终端下工作。
TensorFlow的关键点是:“Data Flow Graphs”,表示TensorFlow是一种基于图的计算框架,其中节点(Nodes)在图中表示数学操作,线(Edges)则表示在节点间相互联系的多维数据数组,即张量(Tensor),这种基于流的架构让TensorFlow具有非常高的灵活性,该灵活性也让TensorFlow框架可以在多个平台上进行计算。
机器学习技术是数据岗位的很大一个加分项,当前传统数据分析的技术已经趋于稳定,随着机器学习技术发展所衍生出来的数据分析决策方法成为这几年的前沿趋势,比如相关性分析到因果分析的进步,和机器学习技术紧密相关。另外一方面,数据岗位往往会和业务算法岗位同学一起合作支持业务,所以对算法同学的各种机器学习技术理解深入,有助于自己提出更合理的数据分析方案。
后续计划会进行如下细分系列的内容展开,尽情期待~