如何成为一个数据分析师?需要具备哪些技能

如题所述

学习数据分析师之前,你必须清楚自己想要达成什么目标。也就是说,你想通过这门技术来解决哪些问题或实现什么计划。有了这个目标,你才能清晰地开展自己的学习规划,并且明确它的知识体系。只有明确的目标导向,学习必备也是最有用的那部分,才能避免无效信息降低学习效率。

1、明确知识框架和学习路径

数据分析这件事,如果你要成为数据分析师,那么你可以去招聘网站看看,对应的职位的需求是什么,一般来说你就会对应该掌握的知识架构有初步的了解。你可以去看看数据分析师职位,企业对技能需求可总结如下:

SQL数据库的基本操作,会基本的数据管理;

会用Excel/SQL做基本的数据提取、分析和展示;

会用脚本语言进行数据分析,Python or R;

有获取外部数据的能力加分,如爬虫或熟悉公开数据集;

会基本的数据可视化技能,能撰写数据报告;

熟悉常用的数据挖掘算法:回归分析、决策树、分类、聚类方法;

高效的学习路径是什么?就是数据分析的流程。一般大致可以按“数据获取-数据存储与提取-数据预处理-数据建模与分析-数据可视化”这样的步骤来实现一个数据分析师的学成之旅。按这样的顺序循序渐进,你会知道每个部分需要完成的目标是什么,需要学习哪些知识点,哪些知识是暂时不必要的。然后每学习一个部分,你就能够有一些实际的成果输出,有正向的反馈和成就感,你才会愿意花更多的时间投入进去。以解决问题为目标,效率自然不会低。

按照上面的流程,我们分需要获取外部数据和不需要获取外部数据两类分析师,总结学习路径如下:

1.需要获取外部数据分析师:

python基础知识

python爬虫

SQL语言

python科学计算包:pandas、numpy、scipy、scikit-learn

统计学基础

回归分析方法

数据挖掘基本算法:分类、聚类

模型优化:特征提取

数据可视化:seaborn、matplotlib

2.不需要获取外部数据分析师:

SQL语言

python基础知识

python科学计算包:pandas、numpy、scipy、scikit-learn

统计学基础

回归分析方法

数据挖掘基本算法:分类、聚类

模型优化:特征提取

数据可视化:seaborn、matplotlib

接下来我们分别从每一个部分讲讲具体应该学什么、怎么学。

数据获取:公开数据、Python爬虫

如果接触的只是企业数据库里的数据,不需要要获取外部数据的,这个部分可以忽略。

外部数据的获取方式主要有以下两种。

第一种是获取外部的公开数据集,一些科研机构、企业、政府会开放一些数据,你需要到特定的网站去下载这些数据。这些数据集通常比较完善、质量相对较高。

另一种获取外部数据费的方式就是爬虫。

比如你可以通过爬虫获取招聘网站某一职位的招聘信息,爬取租房网站上某城市的租房信息,爬取豆瓣评分评分最高的电影列表,获取知乎点赞排行、网易云音乐评论排行列表。基于互联网爬取的数据,你可以对某个行业、某种人群进行分析。

在爬虫之前你需要先了解一些 Python 的基础知识:元素(列表、字典、元组等)、变量、循环、函数(链接的菜鸟教程非常好)……以及如何用成熟的 Python 库(urllib、BeautifulSoup、requests、scrapy)实现网页爬虫。如果是初学,建议从 urllib 和 BeautifulSoup 开始。(PS:后续的数据分析也需要 Python 的知识,以后遇到的问题也可以在这个教程查看)

网上的爬虫教程不要太多,爬虫上手推荐豆瓣的网页爬取,一方面是网页结构比较简单,二是豆瓣对爬虫相对比较友好。

掌握基础的爬虫之后,你还需要一些高级技巧,比如正则表达式、模拟用户登录、使用代理、设置爬取频率、使用cookie信息等等,来应对不同网站的反爬虫限制。

除此之外,常用的的电商网站、问答网站、点评网站、二手交易网站、婚恋网站、招聘网站的数据,都是很好的练手方式。这些网站可以获得很有分析意义的数据,最关键的是,有很多成熟的代码,可以参考。

数据存取:SQL语言

你可能有一个疑惑,为什么没有讲到Excel。在应对万以内的数据的时候,Excel对于一般的分析没有问题,一旦数据量大,就会力不从心,数据库就能够很好地解决这个问题。而且大多数的企业,都会以SQL的形式来存储数据,如果你是一个分析师,也需要懂得SQL的操作,能够查询、提取数据。

SQL作为最经典的数据库工具,为海量数据的存储与管理提供可能,并且使数据的提取的效率大大提升。你需要掌握以下技能:

提取特定情况下的数据:企业数据库里的数据一定是大而繁复的,你需要提取你需要的那一部分。比如你可以根据你的需要提取2018年所有的销售数据、提取今年销量最大的50件商品的数据、提取上海、广东地区用户的消费数据……,SQL可以通过简单的命令帮你完成这些工作。

数据库的增、删、查、改:这些是数据库最基本的操作,但只要用简单的命令就能够实现,所以你只需要记住命令就好。

数据的分组聚合、如何建立多个表之间的联系:这个部分是SQL的进阶操作,多个表之间的关联,在你处理多维度、多个数据集的时候非常有用,这也让你可以去处理更复杂的数据。

数据预处理:Python(pandas)

很多时候我们拿到的数据是不干净的,数据的重复、缺失、异常值等等,这时候就需要进行数据的清洗,把这些影响分析的数据处理好,才能获得更加精确地分析结果。

比如空气质量的数据,其中有很多天的数据由于设备的原因是没有监测到的,有一些数据是记录重复的,还有一些数据是设备故障时监测无效的。比如用户行为数据,有很多无效的操作对分析没有意义,就需要进行删除。

那么我们需要用相应的方法去处理,比如残缺数据,我们是直接去掉这条数据,还是用临近的值去补全,这些都是需要考虑的问题。

对于数据预处理,学会 pandas 的用法,应对一般的数据清洗就完全没问题了。需要掌握的知识点如下:

选择:数据访问(标签、特定值、布尔索引等)

缺失值处理:对缺失数据行进行删除或填充

重复值处理:重复值的判断与删除

空格和异常值处理:清楚不必要的空格和极端、异常数据

相关操作:描述性统计、Apply、直方图等

合并:符合各种逻辑关系的合并操作

分组:数据划分、分别执行函数、数据重组

Reshaping:快速生成数据透视表

概率论及统计学知识

数据整体分布是怎样的?什么是总体和样本?中位数、众数、均值、方差等基本的统计量如何应用?如果有时间维度的话随着时间的变化是怎样的?如何在不同的场景中做假设检验?数据分析方法大多源于统计学的概念,所以统计学的知识也是必不可少的。需要掌握的知识点如下:

基本统计量:均值、中位数、众数、百分位数、极值等

其他描述性统计量:偏度、方差、标准差、显著性等

其他统计知识:总体和样本、参数和统计量、ErrorBar

概率分布与假设检验:各种分布、假设检验流程

其他概率论知识:条件概率、贝叶斯等

有了统计学的基本知识,你就可以用这些统计量做基本的分析了。通过可视化的方式来描述数据的指标,其实可以得出很多结论了,比如排名前100的是哪些,平均水平是怎样的,近几年的变化趋势如何……

你可以使用python的包 Seaborn(python包)在做这些可视化的分析,你会轻松地画出各种可视化图形,并得出具有指导意义的结果。了解假设检验之后,可以对样本指标与假设的总体指标之间是否存在差别作出判断,已验证结果是否在可接受的范围。

python数据分析

如果你有一些了解的话,就知道目前市面上其实有很多 Python 数据分析的书籍,但每一本都很厚,学习阻力非常大。但其实真正最有用的那部分信息,只是这些书里很少的一部分。比如用 Python 实现不同案例的假设检验,其实你就可以对数据进行很好的验证。

比如掌握回归分析的方法,通过线性回归和逻辑回归,其实你就可以对大多数的数据进行回归分析,并得出相对精确地结论。比如DataCastle的训练竞赛“房价预测”和“职位预测”,都可以通过回归分析实现。这部分需要掌握的知识点如下:

回归分析:线性回归、逻辑回归

基本的分类算法:决策树、随机森林……

基本的聚类算法:k-means……

特征工程基础:如何用特征选择优化模型

调参方法:如何调节参数优化模型

Python 数据分析包:scipy、numpy、scikit-learn等

在数据分析的这个阶段,重点了解回归分析的方法,大多数的问题可以得以解决,利用描述性的统计分析和回归分析,你完全可以得到一个不错的分析结论。

当然,随着你实践量的增多,可能会遇到一些复杂的问题,你就可能需要去了解一些更高级的算法:分类、聚类,然后你会知道面对不同类型的问题的时候更适合用哪种算法模型,对于模型的优化,你需要去学习如何通过特征提取、参数调节来提升预测的精度。这就有点数据挖掘和机器学习的味道了,其实一个好的数据分析师,应该算是一个初级的数据挖掘工程师了。

系统实战

这个时候,你就已经具备了数据分析的基本能力了。但是还要根据不同的案例、不同的业务场景进行实战。能够独立完成分析任务,那么你就已经打败市面上大部分的数据分析师了。

如何进行实战呢?

上面提到的公开数据集,可以找一些自己感兴趣的方向的数据,尝试从不同的角度来分析,看看能够得到哪些有价值的结论。

另一个角度是,你可以从生活、工作中去发现一些可用于分析的问题,比如上面说到的电商、招聘、社交等平台等方向都有着很多可以挖掘的问题。

开始的时候,你可能考虑的问题不是很周全,但随着你经验的积累,慢慢就会找到分析的方向,有哪些一般分析的维度,比如top榜单、平均水平、区域分布、年龄分布、相关性分析、未来趋势预测等等。随着经验的增加,你会有一些自己对于数据的感觉,这就是我们通常说的数据思维了。

你也可以看看行业的分析报告,看看优秀的分析师看待问题的角度和分析问题的维度,其实这并不是一件困难的事情。

在掌握了初级的分析方法之后,也可以尝试做一些数据分析的竞赛,比如 DataCastle 为数据分析师专门定制的三个竞赛,提交答案即可获取评分和排名:

员工离职预测训练赛

美国King County房价预测训练赛

北京PM2.5浓度分析训练赛

种一棵树最好的时间是十年前,其次是现在。现在就去,找一个数据集开始吧!!

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-02-08
数据分析师的职位要求 :

  1、计算机、统计学、数学等相关专业本科及以上学历;
  2、具有深厚的统计学、数据挖掘知识,熟悉数据仓库和数据挖掘的相关技术,能够熟练地使用SQL;
  3、三年以上具有海量数据挖掘、分析相关项目实施的工作经验,参与过较完整的数据采集、整理、分析和建模工作;
  4、对商业和业务逻辑敏感,熟悉传统行业数据挖掘背景、了解市场特点及用户需求,有互联网相关行业背景,有网站用户行为研究和文本挖掘经验尤佳;
  5、具备良好的逻辑分析能力、组织沟通能力和团队精神;
  6、富有创新精神,充满激情,乐于接受挑战。

  1、态度严谨负责
  严谨负责是数据分析师的必备素质之一,只有本着严谨负责的态度,才能保证数据的客观、准确。在企业里,数据分析师可以说是企业的医生,他们通过对企业运营数据的分析,为企业寻找症结及问题。一名合格的数据分析师,应具有严谨、负责的态度,保持中立立场,客观评价企业发展过程中存在的问题,为决策层提供有效的参考依据;不应受其他因素影响而更改数据,隐瞒企业存在的问题,这样做对企业发展是非常不利的,甚至会造成严重的后果。而且,对数据分析师自身来说,也是前途尽毁,从此以后所做的数据分析结果都将受到质疑,因为你已经不再是可信赖的人,在同事、领导、客户面前已经失去了信任。所以,作为一名数据分析师就必须持有严谨负责的态度,这也是最基本的职业道德。

  2、好奇心强烈
  好奇心人皆有之,但是作为数据分析师,这份好奇心就应该更强烈,要积极主动地发现和挖掘隐藏在数据内部的真相。在数据分析师的脑子里,应该充满着无数个“为什么”,为什么是这样的结果,为什么不是那样的结果,导致这个结果的原因是什么,为什么结果不是预期的那样等等。这一系列问题都要在进行数据分析时提出来,并且通过数据分析,给自己一个满意的答案。越是优秀的数据分析师,好奇心也越不容易满足,回答了一个问题,又会抛出一个新的问题,继续研究下去。只有拥有了这样一种刨根问底的精神,才会对数据和结论保持敏感,继而顺藤摸瓜,找出数据背后的真相。

  3、逻辑思维清晰
  除了一颗探索真相的好奇心,数据分析师还需要具备缜密的思维和清晰的逻辑推理能力。我记得有位大师说过:结构为王。何谓结构,结构就是我们常说的逻辑,不论说话还是写文章,都要有条理,有目的,不可眉毛胡子一把抓,不分主次。
  通常从事数据分析时所面对的商业问题都是较为复杂的,我们要考虑错综复杂的成因,分析所面对的各种复杂的环境因素,并在若干发展可能性中选择一个最优的方向。这就需要我们对事实有足够的了解,同时也需要我们能真正理清问题的整体以及局部的结构,在深度思考后,理清结构中相互的逻辑关系,只有这样才能真正客观地、科学地找到商业问题的答案。

  4、擅长模仿
  在做数据分析时,有自己的想法固然重要,但是“前车之鉴”也是非常有必要学习的,它能帮助数据分析师迅速地成长,因此,模仿是快速提高学习成果的有效方法。这里说的模仿主要是参考他人优秀的分析思路和方法,而并不是说直接“照搬”。成功的模仿需要领会他人方法精髓,理解其分析原理,透过表面达到实质。万变不离其宗,要善于将这些精华转化为自己的知识,否则,只能是“一直在模仿,从未超越过”。

  5、勇于创新
  通过模仿可以借鉴他人的成功经验,但模仿的时间不宜太长,并且建议每次模仿后都要进行总结,提出可以改进的地方,甚至要有所创新。创新是一个优秀数据分析师应具备的精神,只有不断的创新,才能提高自己的分析水平,使自己站在更高的角度来分析问题,为整个研究领域乃至社会带来更多的价值。现在的分析方法和研究课题千变万化,墨守成规是无法很好地解决所面临的新问题的。

技能要求:

1、懂业务。
从事数据分析工作的前提就会需要懂业务,即熟悉行业知识、公司业务及流程,最好有自己独到的见解,若脱离行业认知和公司业务背景,分析的结果只会是脱了线的风筝,没有太大的使用价值。
2、懂管理。
一方面是搭建数据分析框架的要求,比如确定分析思路就需要用到营销、管理等理论知识来指导,如果不熟悉管理理论,就很难搭建数据分析的框架,后续的数据分析也很难进行。另一方面的作用是针对数据分析结论提出有指导意义的分析建议。
3、懂分析。
指掌握数据分析基本原理与一些有效的数据分析方法,并能灵活运用到实践工作中,以便有效的开展数据分析。基本的分析方法有:对比分析法、分组分析法、交叉分析法、结构分析法、漏斗图分析法、综合评价分析法、因素分析法、矩阵关联分析法等。高级的分析方法有:相关分析法、回归分析法、聚类分析法、判别分析法、主成分分析法、因子分析法、对应分析法、时间序列等。
4、懂工具。
指掌握数据分析相关的常用工具。数据分析方法是理论,而数据分析工具就是实现数据分析方法理论的工具,面对越来越庞大的数据,我们不能依靠计算器进行分析,必须依靠强大的数据分析工具帮我们完成数据分析工作。
5、懂设计。
懂设计是指运用图表有效表达数据分析师的分析观点,使分析结果一目了然。图表的设计是门大学问,如图形的选择、版式的设计、颜色的搭配等等,都需要掌握一定的设计原则。本回答被网友采纳
第2个回答  2017-07-24
目前很多想从事数据分析的,可能只会Excel,会做透视表,会VBA;进阶一点会写SQL,还懂点业务;再专业一些,有统计学基础,懂回归、时间序列、假设检验等等。这些对于专业的数据分析师,还都差了点火候。
如果你有心想发展成为一个数据分析师,或者说某业务的资深数据分析专家,从技术层面来讲,你需要了解成为一个数据分析师的路径,6个步骤:
第一步:统计、数据、机器学习
关于数学知识,大学课堂会学过一部分,如果是数学科学类的专业会学得更精深。关于统计学知识,还是需要一定思维的锻炼的。机器学习,可以看下西线学院的课程,有公开课。
第二步:编代码
如果希望拥有专业水准的话,从编程基础到端到端的开发,一些技术的语言,比如R、Python、和一些商业软件的SAS、SPSS等,以及深入的交互式学习,这些你至少精通几门,其他懂一些最好。
第三步:懂数据库
数据分析大多应用实际。企业数据常常被保存在MySQL、Oracle、Postgres、MonogoDB、Cassandra等数据库中,所以这些数据库你要了解甚至懂。
第四步:数据管理、数据可视化、数据报告
数据管理包括数据的清洗格加工ETL,目的是让分析前的数据更加准确和清晰,比如DataWrangler
数据可视化数据数据分析的前端展示,目的是让数据呈现更清楚明了,更形象,比如tableau,spotfire
数据报告是通过不同工具将数据展示出来,可以和数据可视化归类一起,但实际应用中大多数都是通过PPT的承载方式来呈现。
目前市面上很多公司都使用商业智能的工具,比如FineBI。
BI工具是数据连接,数据处理和可视化为一体的工具,比起上方的纯工具,能更好的适应业务。
第五步:大数据
大数据是未来的必然趋势,而大数据技术的类型也是多种多样,hadoop,mapreduce,spark等等,多学会一种,层次也就不一样。
第六步:积攒经验,学习同行
以上都是理论和工具,但是实践才是出真知,不管是刚接触数据分析的职场人,还是专业学习数据挖掘分析的你,都希望在学习以上内容的同时,多参加一些比赛,学习同领域的专业大神,训练自己在这方面的感觉。
当然,在实际应用过程中,大多数人不一数据分析为主业,数据分析只是分析业务的一个工具,那第四步的内容已经能够满足日常对业务的分析了,当然Excel和PPT的熟练掌握也是必须的。本回答被提问者采纳
第3个回答  2020-11-03

成为优秀的数据分析师你需要具备的技能如下:

    数学知识

    对于初级数据分析师来说,则需要了解统计相关的基础性内容,公式计算,统计模型等。当你获得一份数据集时,需要先进行了解数据集的质量,进行描述统计。

    而对于高级数据分析师,必须具备统计模型的能力,线性代数也要有一定的了解。

    分析工具

    对于分析工具,SQL 是必须会的,还有要熟悉Excel数据透视表和公式的使用,另外,还要学会一个统计分析工具,SAS作为入门是比较好的,VBA 基本必备,SPSS/SAS/R 至少要熟练使用其中之一,其他分析工具(如 Matlab)可以视情况而定。

    编程语言

    数据分析领域最热门的两大语言是 R 和 Python。涉及各类统计函数和工具的调用,R无疑有优势。但是大数据量的处理力不足,学习曲线比较陡峭。Python 适用性强,可以将分析的过程脚本化。所以,如果你想在这一领域有所发展,学习 Python 也是相当有必要的。

    当然其他编程语言也是需要掌握的。要有独立把数据化为己用的能力, 这其中SQL 是最基本的,你必须会用 SQL 查询数据、会快速写程序分析数据。当然,编程技术不需要达到软件工程师的水平。要想更深入的分析问题你可能还会用到:Exploratory analysis skills、Optimization、Simulation、Machine Learning、Data Mining、Modeling 等。

    业务理解

    对业务的理解是数据分析师工作的基础,数据的获取方案、指标的选取、还有最终结论的洞察,都依赖于数据分析师对业务本身的理解。

    对于初级数据分析师,主要工作是提取数据和做一些简单图表,以及少量的洞察结论,拥有对业务的基本了解就可以。对于高级数据分析师,需要对业务有较为深入的了解,能够基于数据,提炼出有效观点,对实际业务能有所帮助。对于数据挖掘工程师,对业务有基本了解就可以,重点还是需要放在发挥自己的技术能力上。

    逻辑思维

    对于初级数据分析师,逻辑思维主要体现在数据分析过程中每一步都有目的性,知道自己需要用什么样的手段,达到什么样的目标。对于高级数据分析师,逻辑思维主要体现在搭建完整有效的分析框架,了解分析对象之间的关联关系,清楚每一个指标变化的前因后果,会给业务带来的影响。对于数据挖掘工程师,罗辑思维除了体现在和业务相关的分析工作上,还包括算法逻辑,程序逻辑等,所以对逻辑思维的要求也是最高的。

    数据可视化

    数据可视化主要借助于图形化手段,清晰有效地传达与沟通信息。听起来很高大上,其实包括的范围很广,做个 PPT 里边放上数据图表也可以算是数据可视化。

    对于初级数据分析师,能用 Excel 和 PPT 做出基本的图表和报告,能清楚地展示数据,就达到目标了。对于稍高级的数据分析师,需要使用更有效的数据分析工具,根据实际需求做出或简单或复杂,但适合受众观看的数据可视化内容。

    协调沟通

    数据分析师不仅需要具备破译数据的能力,也经常被要求向项目经理和部门主管提供有关某些数据点的建议,所以,你需要有较强的交流能力。

    对于高级数据分析师,需要开始独立带项目,或者和产品做一些合作,因此除了沟通能力以外,还需要一些项目协调能力。

第4个回答  2023-08-19
要成为一个数据分析师,你需要掌握一些必要的技能。你需要具备扎实的数学基础,包括统计学、线性代数和概率论等。这些基础知识将帮助你理解和应用各种数据分析方法。
编程技能也是非常重要的。掌握Python、R或SQL等编程语言,可以帮助你进行数据处理和分析。熟悉常用的数据分析工具和库,如Pandas和NumPy等,能够提高你的工作效率。
良好的沟通能力也是一个合格数据分析师所需具备的技能之一。数据分析师经常需要与团队成员、业务人员以及非技术人员进行有效的沟通。清晰地表达分析结果并将其解释给非专业人士是十分重要的。
对领域知识的了解也是成为一名优秀数据分析师必备的技能。深入了解所从事行业的背景和特点将有助于更准确地理解和解读数据。
良好的问题解决能力和逻辑思维也是成功的数据分析师所需具备的技能之一。在面对复杂问题时,能够运用逻辑推理和批判性思维进行分析和解决是非常重要的。
持续学习和更新技能也是成为一个出色的数据分析师的必备品质。数据分析领域发展迅速,新的技术和方法不断涌现。保持学习的态度,紧跟行业动态,不断提升自己的技能和知识储备至关重要。
成为一名优秀的数据分析师需要掌握数学基础、编程技能、良好的沟通能力、领域知识、问题解决能力和持续学习的精神。只有全面发展这些技能,才能在数据分析领域取得成功。记住,数据分析并非一蹴而就,需要不断努力和实践。加油吧!