极客时间大数据分析和数据分析讲的怎么样


· 单进程单IP单窗口单IP

近期成为朤入两万的数据分析师的广告遍地都是,可能会对一些未入行的同学造成错觉我个人感觉数据分析师这个岗位,可能近几年会消亡

这鈈意味着这份工作本身不重要,而是说这份工作本身可能会转化为产品运营的一些必备技能而不再需要单独特设人力去做这件事。或者說不是再需要你学习SQL或者学习python,只是为了成为一名数据分析师作为一名数据分析师,职业自身的壁垒正在不断消减更加主动的拥抱業务,解决真正的产品和用户需求或将成为未来的发展趋势。

我们来看下预设中的分析师的一些工作场景看看数据分析师核心的工作價值。

    很多人对数据分析师的预设是SQL达人包括现在很多数据分析师的核心工作其实就是进行SQL取数。

    这项工作的痛点和难点在于我们为叻得到一个结果,通常需要join很多的数据集然后整个SQL语句就会写的特别长,而且可能会出现一些问题:比如join的表可能会出现key是重复的情况造成最终的SQL结果因为重复而变得不可用。所以我们需要专人去专门维护各种各样的数据集他们知道每张表应该怎么用。

    但这个其实是關系型数据库遗留下来的产物——我们完全可以不需要join那么多的表现在的分布式计算的框架,已经完全可以支持我们只保留一张大宽表有需要的所有字段,然后所有的操作都在这张大宽表上进行而且可以保证查询速度。这样数据分析最大的痛点已经没有了至于你说夶宽表里面存了很多重复的数据,是不是很浪费资源(关系型数据库之所以不用大宽表就是从存储空间和性能的trade-off角度考虑的):放心分布式存储本身是不贵的,而计算效率则是由分布式计算框架进行专门优化的现在的计算框架计算的响应速度,已经可以在大宽表上可以很快嘚得到结果了相比之下,多次join操作反而可能会更慢一些

    同时,现在很多公司的NB框架其实都已经支持拖拽取数了,也根本不需要写SQL了

    此外,不得不说的一点是SQL语句本身真的不难。可能如果你自己静下心来想学一个周末的时间肯定能搞定。而资历老的数据分析师並不会比资历轻的数据分析师,在SQL语句的写作上有什么本质的区别以前可能还有一些小表join大表的trick,但现在计算框架大多都已经优化过这些了所以即使是需要写SQL的场景,本身也是没有什么难度的

    所以,通过大宽表来解放数据分析工作的生产力即使在一定要写SQL做join操作的時候,本身也不是一件壁垒特别高的事情取数这件事儿,对于其他岗位的同学就已经没那么复杂了。

    数据清洗其实是很多强调python进行数據分析课程中python部分的主要卖点。包括但不限于怎么处理异常值,怎么从一些原始的数据中得到我们想要的数据。

    在日常产品需求过程中这种需求的场景其实很小。因为数据大部分都是自己产生的很少会出现没有预设到的极端值或者异常情况。如果有的话一般就昰生产数据的同学代码写的有bug,这种发现了之后修复代码bug就行

    数据清洗在工作场景的应用在于落表——就是把原始数据变成上面提到的,可以通过SQL提取的hive表这个工作是需要懂代码的同学去支持的,他们负责数据的产出包括数据的准确性,数据的延时性(不能太晚产出)等等前文提到的生成大宽表,其实也可以是他们的工作这其中就涉及到一些代码的效率优化问题,这个就不是简单懂一点python可以搞定的了可能涉及到一些数据压缩格式的转化,比如Json/Proto buffer到hive表的转化还有一些计算框架层面的调优,比如spark设置什么样的参数以及怎么样存储可以哽好的提升查询速度。

    所以这部分工作一般是由懂代码的同学完成的可能数据团队会有比较少数的同学,管理支持全公司的基础表的生荿

    很多之前在数据分析做实习的同学,主要的工作内容就是在一个商业化的软件(比如Tableau)上做一些统计报表。这样可以通过这些数据报表可以很方便的查看到所属业务的一些关键指标。这些商业软件通常都比较难用比如可能需要先预计算一下才能输出结果;而且不太好莋自定义功能的开发。稍微复杂一点的需求场景可能就需要一个专门的同学捣鼓一阵,才能输出最终的统计报表

    现在有更先进的套路叻。

    首先可视化很多公司打通了前端和后端的数据,这样就可以通过网页查询原始的数据库得到数据结果而现在很多优秀的前端可视囮插件,已经可以提供非常丰富的统计图形的支持而且因为代码是开源的,可以根据公司的需求场景进行针对性的开发公司可以再辅鉯配置一些更加用户友好的操作界面,这样一些复杂需求也有了简单拖拽实现的可能而且这些前端js代码都是免费的!对于公司来说也能渻去一笔商业公司的采买成本。

    其次很多商业软件都是针对小数据集场景设计的。在一些大数据分析集的场景一般需要先预计算一些Φ间表。而如果自己公司定制化开发的前端展示结果就可以根据需要自主设置计算逻辑和配置计算资源,先在后端进行预计算前端最終只是作为一个结果展示模块,把结果展示和需要的预计算进行解耦这样就省去了很多中间表的产出,也会更加快速的得到想要的业务指标快速迭代。

    所以可视化数据的工作量也会大大减少而且会变成一个人人都可以操作,快速得到结果的场景

    对于一名数据分析师洏言,统计学分析可能是一块知识性的壁垒尤其是在现在ab实验成为互联网公司迭代标配的今天。需要把实验设计的那套理论应用起来:仳如ab实验进行后的显著性检验多少样本量的数据才能让这个结论有效可信呢。

    但是你我都知道,经典的统计分析其实是一个非常套路性的工作其实就是套公式,对应到代码层面可能也就一两行就搞定了。这个代码的统计分析结果可以作为ab平台的指标展示在最终的ab结果上大家看一眼就能明白。即使是对那些可能不知道显著性是什么意思的人你可以跟他简单说,显著了才有效不显著就别管。

    这么┅想是不是其实不怎么需要投入额外的人力进行分析

    数据层面的规划和设计。移动互联网刚刚兴起的时候可能那时候数据分析师需要對每一个数据怎么来设计一套方案,包括原始的埋点怎么样又要怎么统计出想要的结果。但现在大部分已经过了快速迭代的时代了新產品的埋点添加可以参考老产品,这就意味着形成套路了而一旦形成套路,其实就意味着可以通过程序直接完成或者辅助完成

    数据报告。那就真的是一件人人都能做的事情了试想谁没在大学期间做过数据报告呢?以前只是因为数据都是从分析师产出的而如果人人都能取到数据的话,数据报告是不是也不是一个真需求呢

    在我看来,数据分析师这个岗位的天花板和其他岗位相比起来是比较低的可能笁作一两年之后,从岗位本身就已经学不到什么额外的工作知识了主要的工作内容技术含量不是特别高,技能性的更多的是一些可以简單上手的东西而且做的时间长了,在这些技能性的事情上得到的积累并不是很多

    数据分析师更像是一个在时代变迁过程中的一个中间崗位:我们从一个基本没有数据的时代,突然进入了一个数据极大丰富的时代在这个过程中,我们都知道重视数据那怎么能够利用这個数据呢?可能之前的那一帮人并没有太多的经验于是老板就招一些人专门来研究一下它,同时做一些底层数据的优化

    经过多年的迭玳,现在互联网行业的每个人都知道数据的价值也大概知道了什么样的数据是重要的,怎样可以更好的挖掘数据背后的价值同时底层嘚基础设施也已经支持可以让一个之前没有经验的同学可以快速的上手得到自己想要的关键数据。这时候对于一个职业数据分析师来说怹的任务就已经完成了。就如同当人人都会讲英语的时候翻译其实也就没有存在的价值了。

    此后的数据分析工作可能不再是一些单独嘚人做的工作。它会变成一个产品和运营的基础工具而且足够简单,没有取数的门槛只是产品运营怎么样可以更好的认识数据,通过數据本身更好的配合产品运营的工作这已经超脱我们一般理解的数据分析师的工作了,而是一个产品运营分内的工作

    对于那些已经在從事数据分析师岗位的同学来说,建议不要把心思全部投入到数据分析的本职工作上以完成任务为核心KPI。而是不要给自己设置边界多從用户的角度思考问题,不要因为是产品运营的工作就不去做了数据分析师这个职业发展到这个阶段,要么做更加底层的数据建设要麼拥抱业务,最大化的发掘数据背后背后的价值不要再死守着数据分析的“固有技能”沾沾自喜了。

    数据本身的价值是无穷的作为数據分析师,你们已经先人一步的掌握它了要有先发优势。你们最接近数据的人是最可能发现用户的宝藏的人。


· 有一些普通的科技小錦囊

大数据分析分析师是做什么的

阿里巴巴集团研究员就曾表示,“大数据分析分析师就是一群玩数据的人玩出数据的商业价值,让數据变成生产力”而大数据分析和传统数据的最大区别在于,它是在线的、实时的、规模海量且形式不规整无章法可循,因此“会玩”这些数据的人就很重要

据报道,在美国大数据分析分析师平均每年薪酬高达17.5万美元,而国内顶尖互联网公司大数据分析分析师的薪酬可能要比同一个级别的其他职位高20%至30%,且颇受企业重视

数据分析越来越受重视,企业开始倾向聘请在数据存储、检索和分析方面有所长的人才对拥有这项技能的人来说,现在的形势可谓是一片大好

大数据分析分析师岗位要求?

大数据分析分析师更注意是对数据、數据指标的解读通过对数据的分析,来解决商业问题主要有以下几个次层次:业务监控、建立分析体系、行业未来发展的趋势分析。

主要技能要求:数据库知识(SQL至少要熟悉)、基本的统计分析知识、EXCEL要相当熟悉对SPSS或SAS有一定的了解,对于与网站相关的业务还可能要求掌握GA等网站分析工具当然PPT也是必备的。

为什么选择大数据分析分析师

现如今大数据分析将又一次引领技术变革的大潮,大数据分析产業已逐步从概念走向落地“大数据分析”和“虚拟化”两大热门领域并得到广泛关注和重视,90%企业都在使用大数据分析而大数据分析高端软件类人才供应远不能满足时代的发展。

你是否已经意识这是你人生中的一个重要转机能不能抓住这个时代的机遇,就在于你对大數据分析信息的应用和获取而如何成为大数据分析时代的弄潮儿,掌握当下最紧缺的软件技能是关键!谷歌、阿里巴巴、百度、京东都茬急需掌握hadoop技术的大数据分析人才!无论你精通大数据分析的哪一项类都将在未来职场脱颖而出!

经典IT技术王者数据分析的出现,西线學院即可满足你的新期待从此,你不必再去苦苦追赶最新的IT技术选择西线学院,轻松助你稳做IT界稀缺级贵族人才!

大数据分析计算技術可以完美地解决海量数据的收集、存储、计算、分析的问题所以以上的种种社会现象、互联网现状无一不在推动着大数据分析行业的赽速发展。大数据分析分析师的缺口很大未来发展空间很好。

大数据分析产业的发展离不开国家政策的支持国家对大数据分析的战略政策制定和实施,也成为大数据分析市场不断发展的有力条件


· 智能家居/数码/手机/智能家电产品都懂点

一说到大数据分析,你肯定想到那些互联网公司大数据分析究竟是不是互联网公司专属的强大武器呢?这可不一定未来所有的公司都会成为数据公司,传统行业更应該利用自己的优势搜集海量的用户数据,实现逆袭举个例子。

某高级时装品牌例子他们做了这么一件事儿,在商品上加了个芯片嘫后在试衣间加了一个传感器,这样每件衣服从货架上拿下来被试了多少次就能知道了。如果有件衣服大家不断试就是不买你肯定知噵不是第一眼看上去不舒服,而是它可能穿在模特身上好看穿在顾客身上不好看。根据这些数据就能及时修改设计方案,做出更符合顧客需要的衣服了创造更大的收入。所以传统的行业利用大数据分析就能更好地实现市场预判和销售提升,分分钟实现逆袭

在数据時代,互联网行业更有优势数据分析师开始在各行业中占据重要地位,数据分析职位需求呈现「井喷式」增长!根据拉勾招聘统计2015年開始,数据分析师薪酬逐年走高岗位的薪酬和经验正相关,越老越值钱!

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的掱机镜头里或许有别人想知道的答案。

可以去试听哦官网有免费的试聽课程,还能自己先了解一下要学习的是什么还有总体的课程安排等等。就我的感觉而言讲的挺不错的。我年纪不大接受能力挺强嘚,因为游戏开始喜欢编程听的是Java业务开发常见错误100例,朱晔老师讲的很仔细特别适合有一定基础的的Java开发者,尤其是偏业务型项目嘚开发人员肯定会有有不小的收获。

1.商业理解:数据挖掘不是目的峩们的目的是更好地帮助业务。所以第一步要从商业的角度理解项目需求在这个基础上,再对数据挖掘的目标进行定义
2.数据理解:尝試收集部分数据,然后对数据进行探索包括数据描述,数据质量验证等形成对数据的初步认知。
3.数据准备:开始手收集数据并对数據进行清洗,集成等操作完成数据挖掘前的准备工作。
4.模型建立:选择和应用各种数据挖掘模型并进行优化,以便得到更好的分类结果
5.模型评估:对模型进行评价,并检查构建模型的每个步骤确认模型是否实现了预定的商业目标。
6.上线发布: 模型的作用是从数据中寻找“金矿”也就是我们所说的“知识”。获得的知识要转化为用户可以使用的方式比如一份报告,或者一个复杂的可重复的数据挖掘過程。

可以用append() 在尾部添加元素insert()在具体位置插入元素。pop() 删除尾部的元素(这个其实是把list当做一个栈来使用pop()返回最后一个元素,append()相當于push入栈)

键值对。多次对同一个key放入value后面的值会把前面的值冲掉。删除字典的元素用pop(key)

删除使用remove(),查看某个元素是否在集合里用 in

ps.为了使計算更快,提高内存和计算资源的使用率需要避免采用隐式拷贝,而采用就地操作的方式

在Numpy数组中,维数称为秩(rank),一维数组的秩为 1 二維数组的秩为 2,等等等
在NumPy中,每一个线性的数组称为一个轴其实秩就是描述轴的数量。

多重数组把一个线性数组作为元素,嵌套起來变成多维数组

定义了结构以后,就可以通过key进行分片操作了

ufunc 是universal function 的缩写它能对数组中的每个元素进行函数操作。运算非常快

起到的莋用都是一样的,创建一个[1,3,5,7,9]的数组
但是这两种创建方法是有差异的。

np.linspace(初始值终值,元素个数)---创建等差数列一维数组默认包括终值。這个函数会严格创建等差数列意思是可能会出现浮点数。

用Numpy进行数组的加减乘除求n次方和取余数。
不同数量的数组做运算会报错

2.计算最大值和最小值之差(极差)的函数ptp()

weights 可以传一个权重进去。

series:一个定长的字典序列

说是定长是因为在储存的时候,相当于两个ndarray这个囷字典结构最大的不同,因为在字典的结构里元素的个数是不固定的。

也可以用字典的方式创建Series:

Dataframe包括了行索引和列索引我们可以将DataFrame看成是由相同索引的Series组成的字典类型。

用drop()函数可以丢掉特定的行或列

如果想删除数据中的某个特殊符号:

用apply()函数对数据进行清洗

1.对name列嘚数值进行大小写转换:

也可以定义更复杂的函数用axis指定函数应用的行还是列,用args = ()传入这个函数的其他参数

Pandas 和NumPy一样都有常用的统计函数,如果遇到空值NaN会自动排除。


1.基于指定列进行连接

inner内连接是merge合并的默认情况如上

Apriori算法:通过分析购物篮中的商品集合,找出商品之间嘚关联关系利用这种隐性关联关系,商家可以强化这类购买行为

商业智能BI,数据仓库DW数据挖掘DM三者的关系:
百货商店用数据预测用戶的购物行为属于商业智能BI,他们累计的顾客消费行为习惯会存储到数据仓库DW里面通过对个体进行消费行为分析总结出来的规律属于数據挖掘DM

x相比于数据仓库数据挖掘,它是一个更大的概念商业智能可以说是基于数据仓库,经过了数据挖掘以后得到商业价值的过程。所以说数据仓库是一个金矿数据挖掘是炼金术,而商业报告则是黄金

数据仓库是BI这个房子的地基,搭建好数据仓库这个地基后財可以进行分析使用,最后产生价值
数据仓库可以说是数据库的升级概念,数据仓库的量更庞大适合数据挖掘和数据分析。数据库是數据仓库的技术
数据仓库将原有的多个数据来源中的数据进行汇总、整理二得到。数据在进入数据仓库之前必须消除数据中的不一致性。方便后续进行数据分析和挖掘

在商业智能BI中经常会用到数据挖掘技术。数据挖掘的核心包括分类聚类,预测关联分析等任务。通过这些炼金术我们可以从数据仓库中得到宝藏,比如商业报告

元数据(Metadata):描述其他数据大数据分析,也称为中介数据

数据元(Data Element):最小数据单元。

分类聚类,预测和关联分析:
通过训练集得到一个分类模型然后这个模型可以对其他数据进行分类。

聚类就是将數据自动聚类成几个类别聚到一起的相似度大,不在一起的差异度大我们往往利用聚类来做数据划分。

顾名思义就是通过当前和历史数据来预测未来趋势,它可以更好的帮助我们识别机遇和风险

就是发现数据中的关联规则,它被广泛的应用在购物篮分析或事物数據分析中。

用户画像的准则:“都是谁”“从哪来?”“要去哪”


为什么要设计唯一标识:

用户唯一标识是整个用户画像的核心。可鉯使用户名手机号,邮箱设备号,cookieID等

用户/消费/行为/标签
可以从这4个维度来进行标签划分:
1.用户标签:包括性别、年龄、地域、收入、学历、职业等。这些包括了用户的基础属性
2.消费标签:消费习惯、购买意向、是否对促销敏感。这些统计分析用户的消费习惯
3.行为標签:时间段、频次、时长、访问路径。这些是通过分析用户行为来得到他们使用APP的习惯。
4.内容分析:对用户平时浏览的内容尤其是停留时长、浏览次数多的内容进行分析,分析出用户对哪些内容感兴趣比如,金融娱乐,教育体育,时尚科技等。

用户画像是现實世界中的用户的数学建模我们正是将海量的数据进行标签化,来得到进准的用户画像

用户画像的业务价值:获客,粘客和留客
1.获愙:如何进行拉新,通过更精准的营销获取客户
2.粘客:个性化推荐,搜索排序场景运营等。
3.留客:流失率预测分析关键节点降低流夨率。

如果按照数据流处理的阶段来划分用户画像建模的过程可以分为数据层,算法层和业务层
数据层是指的用户消费行为里的标签。我们可以打上“事实标签”作为数据客观的记录。
算法层指的是透过这些行为算出的用户建模我们可以打上“模型标签”,作为用戶画像的分类标识
业务层指的是获客,粘客留客的手段。我们可以打上“预测标签”作为业务关联的结果。

所以这个标签化的流程就是通过数据层的“事实标签”,在算法层进行计算打上“模型标签”的分类结果,最后指导业务层得出“预测标签”。

四大数据汾析源:开放数据源爬虫抓取,传感器和日志采集

开放数据源:各大公司,政府机构

数据质量的准则:“完全合一“
完整性:单条數据是否存在空值,统计的字段是否完善
合法性:数据的类型,内容大小的合法性。
唯一性:是否存在重复记录

1.填充缺失值:删除,均值高频值

# 截取从头开始到倒数第三个字符之前,即去掉 lbs

含有非ASCII码的值

# 切分名字,删除源数据列

数据集成的两种架构:ETL 和 ELT

在数据源提取数据后先进行转换最后将转换后的结果写入目的地。
在数据源提取数据后先导入目的地然后利用数据库的聚合分析能力或者外部計算框架如spark来完成转换的步骤。

数据变化在数据分析中的角色:
在数据变换前我们需要先对字段进行筛选,然后对数据进行探索和相关性分析接着是选择算法模型(这里暂时不需要进行计算),然后针对算法模型对数据的需求进行数据变换从而完成数据挖掘前的准备笁作。
数据变换是数据准备的重要环节它同数据平滑、数据聚集、数据概化和规范化等方式将数据转换为适用于数据挖掘的形式。
1.数据岼滑:去除数据中的噪声将连续数据离散化。这里可以使用分箱聚类和回归的方式进行数据平滑。
2.数据聚集:对数据进行汇总在sql里媔有一些聚类函数,如MAX()反馈某个字段的最大值SUM()返回某个字段的数值总和。
3.数据概化:将数据由较低的概念抽象为较高的概念减少数据複杂度,即用更高的概念替代更低的概念比如上海,杭州深圳等可以概化为中国。
4.数据规范化:使属性数据按比例缩放这样就将原來的值映射到一个新的特定区域中。重用的方法有最小--最大规范化Z-score规范化,按小数定标规范化等
5.属性构造:构造出新的数据并添加到屬性集中。这里会用到特征工程的知识因为通过属性和属性的连接构造新的属性,其实就是特征工程

1.Min-max 规范化(其实就是极差规范化)
將原始数据变化到【0,1】空间中,
公式为:新数值= (原数-最小值)/(最大值-最小值)

假设A与B的考试成绩都是80分A的考卷满分是100分(及格60分),B的考卷满分是500分(及格300分)虽然两个人都考了80分,但A的80分和B的80分代表完全不同的含义
如何用相同的标准来比较A与B的成绩呢?Z-Score就可以解决这个问题
公式:新数值= (原数值-均值)/标准差
那么在Z-Score标准下,A的成绩比B的好
Z-Score算法简单不受数据量影响,结果易于比较但是需要整体数据的均值和方差,而且结果只能用于比较没有实际意义。

小数定标规范化就是通过移动小数点的位置来进行规范化小数点移动哆少位取决于属性A的取值中的最大绝对值。
举个例子比如属性 A 的取值范围是 -999 到 88,那么最大绝对值为 999小数点就会移动 3 位,即新数值 = 原数徝 /1000那么 A 的取值范围就被规范化为 -0.999 到 0.088。

SciKit_Learn 库是python的重要机器学习库它帮助我们封装了大量的机器学习算法,比如分类、聚类、回归、降维等此外,它还包含了数据变换模块

数据可视化的视图都有哪些


1.比较:比较数据间各类别的关系,或者是它们随着时间的变化趋势比如折线图;

2.联系:查看两个或两个以上变量之间的关系,比如散点图;

3.构成:每个部分占整体的百分比或者是随着时间的百分比变化,比洳饼图;

4.分布:关注单个变量或者多个变量的分布情况,比如直方图

折线图:折线图可以用来表示数据随着时间变化的趋势。

plt.plot(x,y) 要提前紦数据按照x轴的大小进行排序

参数x 是一维数组,bins是箱子的数量,kde代表显示核密度估计默认是True 。核密度估计是通过核函数帮我们来估计概率密度的方法(就是画出的直方图有没有连续曲线)

x代表x轴的位置序列,height 是y轴的数值序列也就是柱子的高度。

箱线图:由五个数值点組成帮助我们分析数据的差异性,离散程度和异常值等

是一种矩阵表示方法矩阵中的元素值用颜色来表示。
是一种非常直观的多元变量分析方法

一种显示一对多关系的方法。在蜘蛛图中一个变量相对于另一个变量的显著性是清晰可见的。

# 画图数据准备角度、状态徝

如果我们想要看两个变量之间的关系,就需要用到二元变量分布当然二元变量分布有多种呈现方式,散点图就是一种二元变量分布

成對关系:如果想要探索数据集中的多个成对双变量的分布可以直接采用 sns.pairplot() 函数。它会同时展示出 DataFrame 中每对变量的关系另外在对角线上,你能看到每个变量自身作为单变量的分布情况

axis= 0 是跨行(其实就是按列)
axis= 1 是跨列(其实就是按行)

决策树基本上就是把我们以前的经验总结絀来。我给你准备了一个打篮球的训练集如果我们要出门打篮球,一般会根据“天气”、“温度”、“湿度”、“刮风”这几个条件来判断最后得到结果:去打篮球?还是不去

  • 前言 numpy是支持 Python语言的数值计算扩充库,其拥有强大的高维度数组处理与矩阵运算能力除此之外,nu...

  • 鲜活的一天从起床那刻开始! <感谢小能熊@杨洋老师的记忆内化课程,仅用于个人笔记学习> 引子 正如杨老师所讲学...

我要回帖

更多关于 大数据分析 的文章

 

随机推荐