一提到大数据,人们立刻会想到的就是数据科学家,这是一个被财富杂志誉为 21 世纪最性感的职业。然而,数据科学家做为大数据起步阶段的工作岗位,其重要性必然会随着大数据技术的日臻完善而逐渐降低,公民数据科学家必将兴起,大数据分析不会只掌握在少数人手上,它必将民主化,人人都能做大数据分析。
Dell Statistica 部门的首席研究官 Shawn Rogers 在一次采访中谈到。
2016 年将会是公民数据科学家年,因为业务用户需要一种民主化的方式来进行大数据数据分析。不是每个公司能负担起数据科学家的成本,这也是公民数据科学家将广泛地参与到大数据生态的一个最大的原因。
什么是公民数据科学家?
关于公民数据科学家,Gartner 研究分析师 Alexander Linden 是这样描述的:
citizen data scientists as people on the business side that may have some data skills, possibly from a math or even social science degree and putting them to work exploring and analyzing data.
为什么需要公民数据科学家?
领英最新发布的《2016 年中国互联网最热职位人才报告》,数据科学家需求强烈,排在前 6 名。而数据科学家的供给指数最低,仅为 0.05,属于高度稀缺。同时,数据科学家成本昂贵。
数据科学家成本昂贵 Source: DeZyre
硅谷入门级的数据科学家的平均年薪已经达到 110,000 美元,行业年薪已经达到 14,000 美元 240,000 美元之间。
一方面数据科学家价格昂贵、人才供应不足,很难找到。而公民数据科学家广泛存在的企业中,并且具备一定的分析技能,让他们承担大数据分析工作可以有效的解决人才供应以及成本的问题。
另一方面,公民数据科学家对于业务和企业实际情况更加熟悉,让他们参与到分析过程来,能实现了业务和技术的结合,更好的发挥大数据的价值。
数据科学技能鸿沟
公民数据科学家常用技能:
SQL
BI 工具
数学/业务
数据科学家常用技能:
Hadoop/Spark
SAS/SpSS/R
Java/python/Scala
NLp
Visual
Statistics
等等
公民数据科学家和数据科学家在专业技能上存在一定的鸿沟,如果按照原有的工作方式,会存在技能不足的问题。
如何跨越鸿沟
随着大数据、云计算的发展,云平台、新技术将协助公民数据科学家跨越技能的鸿沟。
大数据云端服务
安装、运维 Hadoop、Spark、数据仓库,需要专业的技术,而且是一件比较繁琐的事情。直接使用云端服务,能很方便的管理,大大地降低了运维难度。
下面以 HashData 数据仓库为例,说明如何通过 Web 界面进行大数据云端服务的创建、管理等具体操作。
1. 创建数据仓库
Step1 提供集群配置信息
Step2 私有网络配置
Step3 数据仓库用户配置信息
2. 数据仓库性能监控
3. 数据仓库扩容
自助服务 BI
传统 BI 的适用对象是 IT 专家,而自助服务 BI 的适用对象是公民数据科学家。在这个大数据的时代,数据分析工作越来越多,业务关联性也越来强,对业务不熟悉做不好数据分析。为了更好地发挥大数据分析的价值,最好的办法是使用自助服务 BI 让业务用户参与分析。
借助自助服务 BI 工具,公民科学家可以在不需要编程的前提下,进行数据分析工作。但是这种分析对时效性要求一般挺高,他们大多数希望数分钟内得到结果。随着数据量越来越大,建议搭配一个高效的并行执行引擎,比如 Teradata、HashData、Impala、SparkSQL 等,它可以保证在很短的时间返回结果,如果计算能力不够,还可以弹性扩展更多的计算资源,以保证执行时间。
自助服务 BI 工具很多,比如 Tableau、QlikView、BusinessObjects 等。
Machine Learning in SQL
数据科学家常用的机器学习技能包括 R、Spark MLlib,但是有一定的学习曲线。如果能使用 SQL 语言进行机器学习的话,将会大大使用降低使用难度,Apache MADlib正是这样的一个项目。
Apache MADLib 项目自 2011 年开源以来,经过迅速发展,目前已经能支持 Linear Regression、Logistic Regression、Decision Tree、Radomn Forrest、Native Bayes Classification、SVM、Association Rules、K-Means Clustering、Low-rank Matrix Factorisation、pCA、SVD Matrix Factorisation 等多种常用的机器学习算法。
2016/09/02,Apache MADLib 项目刚刚发布了 v1.9.1 版本,这个版本将支持 1-class SVM for novelty detection、class weights for SVM、prediction metrics、sessionization、pivoting、overlapping patterns in the path function 等算法和功能。
下面将向大家介绍如何使用 Apache MADLib 库中的逻辑回归算法来预测心脏病是否复发。
Step 1 建表和收集病人原始数据
DROp TABLE IF EXISTS patients,patients_logregr,patients_logregr_summary;
DROp TABLE IF EXISTS patients,patients_logregr,patients_logregr_summary;CREATE TABLE patients (id INTEGER NOT NULL, 病人序号second_attack INTEGER, 心脏病是否复发treatment INTEGER, 是否治疗trait_anxiety INTEGER); 焦虑程度INSERT INTO patients VALUES (1, 1, 1, 70);
其中 treatment,treatment 为特征值,secondattack 为标签。
Step 2 根据原始数据训练模型
SELECT madlib.logregr_train ( patients, 原始数据表 patients_logregr, 训练结果表 second_attack, 标签 ARRAY[1, treatment, trait_anxiety], 特征 NULL, 分组20, 最大迭代次数irls 优化器);
Step 3 预测
SELECT p.id, madlib.logregr_predict (coef, ARRAY[1, treatment, trait_anxiety]), 预测结果(True/False) p.second_attack 实际值 FROM patients p, patients_logregr m ORDER BY p.id;
其中系数 coef 是 madlib.logregrtrain 训练过程中产生的结果,作为 madlib.logregrpredict 的输入值。
预测结果如下:
++-++| id | logregr_predict | second_attack ||+-+|| 1 | True | 1 || 2 | True | 1 || 3 | False | 1 || 4 | True | 1 || 5 | False | 1 || 6 | True | 1 || 7 | True | 1 || 8 | True | 1 || 9 | True | 1 || 10 | True | 1 || 11 | True | 0 || 12 | False | 0 || 13 | False | 0 || 14 | False | 0 || 15 | False | 0 || 16 | False | 0 || 17 | True | 0 || 18 | False | 0 || 19 | False | 0 || 20 | True | 0 |++-++
Apache MADlib 目前只支持 postgreSQL 内核的数据库,比如 Greenplum、HashData。其中 HashData 可以青云 QingCloud上直接使用。
小结
公民数据科学家的兴起,不会取代数据科学家。他们将会组成数据分析团队,共同协作提炼大数据价值。
本文转载自HashData 微信公众号。
济宁IT新闻