今天想分享一点半技术半经验的内容,如何用用数据分析的技术了解数据分析的技术。
事情起源是最近好几个朋友问我,某某证书是不是吃香?或者某某软件是不是学了有用。这类问题很好回答,其实就是搜搜招聘网址,看一看是否有相关的关键词,如果企业用的多,那就是好技术,好证书。
比如你想搜搜这个热门技术,就会发现:
这个有个P用,都是噱头!
所以,数据分析和数据科学是什么关系?需要哪些技术?我们可以用数据分析/数据科学的方法去了解数据分析和数据科学。
流程
首先看一下整体的技术栈流程。
要分析数据首先得要数据,爬虫会是比较快捷的获取数据的方式,因为毕竟网上的数据源都不是最新的。
爬取的原始数据可以保存到数据库或者文件,另外还有一些辅助数据源,比如城市分布经纬度,以及技能清单数据库等。
获取到数据之后,就可以做数据分析或者建模。
先预览一下其中一个分析结果,可以看到数据分析和数据科学需要哪些硬技术。
数据科学37%左右都在使用Python+R的技术栈,还有22%左右只使用Python,还有16%公司没有提到技术栈,一个重要的情况是有4.54%的公司提到了tensorflow这个很明确的机器学习库。
数据分析高达57%以上公司没有提到技术栈,17%左右在使用Python+R的技术栈,还有15%左右只使用Python,这里可能说明数据分析更注重软技能,是否也说明数据分析入门门槛低?
硬核技术对比
爬虫很难作为一个主流技术栈,一般来说,我很少用爬虫,或者说遇到爬虫任务都很简单,因为我不会明知对方不让爬还要爬,容易爬到铁窗后。
用到的爬虫有一些,比如客户有一些数据,没法导出来,或者只能一页一页查询,分页保存。这时候爬虫就派点用途了,而且是光明正大,当着客户面爬。
这里爬一下Linkedin的数据,只要爬取一些典型国家,比如中,美,德,英等数据科学家和数据分析师的招聘职位。这里的技术就是Selenium,用于模拟人的操作,完成自动化的操作。其中比较核心的代码就是通过搜索页面上的元素,匹配到职位信息,然后点击查看内容,提取关键信息,比如职位,公司,职位描述等。
爬取的数据肯定是要进行清理的,这里主要做如下清理:
去重,尤其是同一公司,同一地址和同一岗位
基本的NLP操作,比如去标点,换行,html标识等。完成这一步,其实就可以做一些基本数据分析了。
分词。分词只是基本的操作,如果我们想要分析数据分析采用的硬技能,我们不能单独从爬取的数据整理,需要一份额外的技能表作为参考。微软其实发布了技能清单表,但是里面的技能也包含软技能,比如:分析,业务等这些软技能。
于是对于硬核的技术,我们要用github的tag清单作为参考。
我们细分到各个国家,对于数据分析来说,国内R和python的组合也是普遍的,纯Python也很流行,另外go语言(紫色),以及r&python&java的组合也有一定的分量。但是很奇怪的是,国内招聘要求没有明显提到“SQL”语言或者相关的数据库技术。相反,美国的招聘就明显列了出来。
相比数据分析而言,国内数据科学中粉色部分(r&Python&Scala)格外的醒目,看来很多公司都在搞大数据。
软技能对比
上面的图可以看到,双方在硬技术上区别不是很大。但是技术毕竟只是硬指标,不是说你会这个技术就一定能得到这个工作。我们可以看一下所有的“技能”要求。
先看数据科学的关键词,这次就明显不同。因为机器学习是头名话题,计算科学(就是科班出身),大数据,深度学习,数据驱动等都在前排。还有一个重要的信息:master degree(研究生学历)。
相比于数据科学,数据分析的关键词就不同了。数据分析作为头名关键词毋庸置疑,Bachelor degree (本科学历)也排名第四。另外,沟通技巧,经验,数据可视化,Power BI等都在前排。
从这个软技能对比,还是能够感受两个岗位完全不同。
C站(CSDN)能力认证中心