如何快速成为数据分析师
在学习data analyst之前,你必须知道你想要达到的目标。换句话说,你想通过这项技术解决什么问题或计划?有了这个目标,你就可以清晰地制定自己的学习计划,明确其知识体系。只有明确目标导向,学习最有用的部分,才能避免无效信息,降低学习效率。
1.定义知识框架和学习路径。
数据分析,如果你想做数据分析师,那么你可以去招聘网站看看相应职位的要求是什么。一般来说,你会对自己应该掌握的知识结构有一个初步的了解。可以看看数据分析师这个职位。企业对技能的需求可以概括如下:
SQL数据库的基本操作,基础数据管理;
能使用Excel/SQL做基础数据的提取、分析和展示;
会使用脚本语言进行数据分析,Python或者R;;
增加了获取外部数据的能力,如爬虫或熟悉公共数据集;
具备基本的数据可视化技能,能够撰写数据报告;
熟悉常用的数据挖掘算法:回归分析、决策树、分类和聚类方法;
什么是高效的学习途径?就是数据分析的过程。一般一个数据分析师的学习之旅可以通过“数据采集-数据存储与提取-数据预处理-数据建模与分析-数据可视化”这几个步骤来实现。按照这个顺序一步一步来,你就会知道每个部分需要完成什么,需要学习哪些知识,哪些知识暂时不需要。那么你每研究一个部分,你就能有一些实际的产出,有积极的反馈,有成就感,你就会愿意花更多的时间在里面。以解决问题为目标,效率自然不会低。
按照上述流程,我们分为需要获取外部数据的分析师和不需要获取外部数据的分析师两类,学习路径总结如下:
1.需要外部数据的分析师:
Python基础
蟒蛇爬行动物
SQL语言
Python科学计算包:pandas,numpy,scipy,scikit-learn。
基本统计
回归分析方法
数据挖掘的基本算法:分类和聚类
模型优化:特征提取
数据可视化:seaborn,matplotlib
2.不需要获取外部数据的分析师:
SQL语言
Python基础
Python科学计算包:pandas,numpy,scipy,scikit-learn。
基本统计
回归分析方法
数据挖掘的基本算法:分类和聚类
模型优化:特征提取
数据可视化:seaborn,matplotlib
接下来,我们就来说说每一部分应该学什么,怎么学。
数据采集:开放数据,Python爬虫
如果只接触企业数据库中的数据,不需要获取外部数据,这部分可以忽略。
获取外部数据主要有两种方式。
首先是获取外部公共数据集。一些科研机构、企业、政府会开放一些数据,你需要去特定的网站下载这些数据。这些数据集通常相对完整,质量相对较高。
另一种获取外部数据的方式是爬虫。
比如你可以通过爬虫获得招聘网站上某职位的招聘信息,租房网站上某城市的租房信息,豆瓣评分最高的电影列表,知乎的点赞和网易云音乐评论列表。基于网络上抓取的数据,可以分析某个行业,某个人群。
爬行之前,需要了解一些Python的基础知识:元素(列表、字典、元组等。)、变量、循环、函数(链接的新手教程很好)...以及如何用成熟的Python库(URL,BeautifulSoup,requests,scrapy)实现一个网络爬虫。如果是初学者,建议先从urllib和BeautifulSoup入手。(PS:后续数据分析也需要Python知识,以后遇到的问题也可以在本教程查看)
网上爬虫教程不要太多,爬虫可以推荐豆瓣的网页来抓取。一方面网页结构相对简单,另一方面豆瓣对爬虫相对友好。
掌握了基础爬虫之后,还需要一些高级技能,比如正则表达式、模拟用户登录、使用代理、设置爬行频率、使用cookie信息等。,来应对不同网站的反爬虫限制。
另外,常用的电商网站、问答网站、评论网站、二手交易网站、婚恋网站、招聘网站的数据都是很好的练习方法。这些网站可以得到非常有分析性的数据,最重要的是有很多成熟的代码可以参考。
数据访问:SQL语言
你可能会有一个疑问,为什么没有讲Excel。在处理一万以内的数据时,Excel一般分析没有问题。一旦数据量大了就会不足,数据库可以很好的解决这个问题。而且,大多数企业都会以SQL的形式存储数据。如果是分析师,还需要了解SQL的操作,能够查询和提取数据。
SQL作为最经典的数据库工具,使得海量数据的存储和管理成为可能,大大提高了数据抽取的效率。你需要掌握以下技能:
特定情况下提取数据:企业数据库中的数据一定很大很复杂,你需要提取你需要的部分。比如你可以根据你的需求提取2018的所有销量数据,今年销量前50的产品数据,上海和广东用户的消费数据...SQL可以用简单的命令帮助您完成这些任务。
数据库的添加、删除、查询、修改:这些都是数据库最基本的操作,但是用简单的命令就可以实现,所以你只需要记住命令就可以了。
数据的分组和聚合,如何建立多个表之间的关系:这部分是SQL的高级操作,多个表之间的关系在你处理多维多数据集的时候非常有用,这也让你可以处理更复杂的数据。
数据预处理:Python(熊猫)
很多时候,我们得到的数据是不干净的,数据重复、缺失、异常值等。这时候就需要对数据进行清理,把这些影响分析的数据处理好,才能得到更准确的分析结果。
比如空气质量数据,很多天的数据由于设备原因没有监测到,有些数据重复记录,有些数据在设备出现故障时无效。比如用户行为数据中有很多无效操作对分析没有意义,需要删除。
那么我们就需要用相应的方法来处理,比如不完整的数据,我们是直接去掉这个数据还是用相邻值来补全。这些都是需要考虑的问题。
对于数据预处理,学习熊猫的用法,处理一般的数据清洗。需要掌握的知识点如下:
选择:数据访问(标签、特定值、布尔索引等。)
缺失值处理:删除或填充缺失的数据行。
重复值处理:重复值的判断和删除
空格和异常值的处理:清除不必要的空格和极端异常数据。
相关操作:描述性统计、应用、直方图等。
合并:符合各种逻辑关系的合并操作。
分组:数据划分、单独执行功能和数据重组。
刷新:快速生成数据透视表
概率论和统计知识
数据的总体分布是怎样的?什么是总体和样本?如何应用中位数、众数、均值、方差等基本统计学?如果有时间维度,它是如何随时间变化的?不同场景下如何做假设检验?数据分析方法大多来源于统计学的概念,所以统计学知识也必不可少。需要掌握的知识点如下:
基本统计学:均值、中位数、众数、百分位数、极值等。
其他描述性统计:偏斜度、方差、标准差、显著性等
其他统计知识:总体与样本,参数与统计,误差线。
概率分布和假设检验:各种分布和假设检验过程
概率论其他知识:条件概率、贝叶斯等。
有了统计学的基础知识,就可以利用这些统计数据做基础分析了。把数据的指标用可视化的方式描述出来,其实可以得出很多结论,比如100排名靠前的有哪些,平均水平如何,近几年的变化趋势如何...
你可以使用python包Seaborn(python做这些可视化分析,可以很容易的画出各种可视化图形,得到有指导意义的结果。了解假设检验后,就可以判断样本指标与假设的总体指标是否存在差异,验证的结果是否在可接受的范围内。
Python数据分析
如果你有一定的知识就会知道,目前市面上关于Python数据分析的书其实很多,但是每一本都很厚,学习阻力很大。但实际上,最有用的信息只是这些书中的一小部分。比如用Python测试不同情况下的假设,其实可以很好的验证数据。
比如掌握回归分析的方法,通过线性回归和逻辑回归,实际上可以对大部分数据进行回归分析,得出相对准确的结论。比如DataCastle的训练比赛“房价预测”和“持仓预测”都可以通过回归分析实现。这部分需要掌握的知识点如下:
回归分析:线性回归和逻辑回归。
基本分类算法:决策树,随机森林...
基本聚类算法:k-means...
特征工程基础:如何通过特征选择优化模型
参数调整方法:如何调整参数优化模型
Python数据分析包:scipy、numpy、scikit-learn等。
在数据分析的这个阶段,大部分问题都可以通过专注于回归分析的方法来解决,使用描述性统计分析和回归分析,你可以得到一个很好的分析结论。
当然,随着你实践的增加,你可能会遇到一些复杂的问题,所以你可能需要了解一些更高级的算法:分类和聚类,然后你就会知道哪种算法模型更适合不同类型的问题。对于模型优化,你需要学习如何通过特征提取和参数调整来提高预测精度。这有点像数据挖掘和机器学习。其实一个好的数据分析师应该算是初级的数据挖掘工程师。
系统实战
这个时候,你已经具备了基本的数据分析能力。但需要根据不同的案例,不同的业务场景进行实战。如果你能独立完成分析任务,那么你已经打败了市场上大多数的数据分析师。
如何进行实战?
上面说的公开数据集,你可以在你感兴趣的方向找一些数据,试着从不同的角度去分析,看看你能得出什么有价值的结论。
另外一个角度就是你可以从你的生活和工作中找到一些可以用来分析的问题。比如上面提到的电商、招聘、社交等平台方向,有很多问题可以探讨。
刚开始的时候,你可能不会把所有的问题都考虑透彻,但是随着你经验的积累,你会逐渐找到分析的方向,分析的大致维度有哪些,比如排行榜、平均水平、地区分布、年龄分布、相关性分析、未来趋势预测等等。随着阅历的增加,你会对数据有一些感受,也就是我们通常所说的数据思维。
也可以看看行业分析报告,看看优秀分析师的视角,分析问题的维度。其实这并不是一件困难的事情。
在掌握了初级的分析方法之后,还可以尝试做一些数据分析比赛,比如DataCastle专门为数据分析师定制的三个比赛,提交答案就可以获得分数和排名:
员工离职预测培训竞赛
美国金县房价预测培训竞赛
北京PM2.5浓度分析培训竞赛
种一棵树最好的时间是十年前,其次是现在。现在就去找一个数据集开始吧!!