数据分析的演变-那时,现在和以后

数据科学的宽松定义是分析业务数据,以便能够为业务产生可行的见解和建议。 分析的简单或复杂(也称为“数据科学复杂性”的水平)也会影响结果的质量和准确性。 复杂性实质上是3个主要数据科学组件的功能-技术技能,数学/统计技能以及定义和交付相关业务解决方案所需的业务敏锐度。 自从数据科学在过去的二十年中开始受到企业的欢迎以来,这三大支柱一直是数据科学的支柱,并且在将来甚至还会继续。 但是,未来已经改变或将会改变的是技术和统计技术领域的基础研发。 我还没有目睹其他许多行业以如此快的速度淘汰这些技能。 数据科学的独特之处在于,它要求数据科学家和咨询公司不断更新其技能,并对采用新的和即将到来的技能保持高度的未来主义。 本文试图探讨过去几十年中数据科学的工具/技术方面是如何发展的,更重要的是,这个迷人的技术和创新驱动领域的未来前景如何。

然后>现在>以后

当企业首次开始采用数据科学时,目标是找到比使用业务启发式方法获得的解决方案更准确和可靠的解决方案。 同时,尝试使解决方案足够简单,以免使业务用户不知所措。 为了简化实施/消耗,对技术的选择保持简单,对数学/统计也是如此,以简化开发和解释。 本质上,较早的用例比预期的具有更多探索性,因此也影响了工具/技术的选择。 另一个重要因素是产品的市场可用性,更重要的是具有这些技能的分析师。

  • 数据处理

SAS在2000年代曾是该行业的主力军之一,涉及数据处理/ EDA工作,它为报告和建模构建后端数据。 少数公司也将SAS用于EDW,否则由IBM Netezza,Teradata和Oracle主导。 SPSS也因其易于使用的GUI界面以及它提供的解决方案套件(包括易于开发(但非常方便)的解决方案,如CHAID / PCA等)而找到了很好的用途。

  • 预测建模

当建立统计模型时,所谓的“浅学习”技术是最常见的选择(由于产品和资源的可用性)。 这些主要包括用于有监督的线性回归,朴素贝叶斯,逻辑回归,CHAID,单变量和外源时间序列方法(如平滑,ARIMA,ARIMAX等)以及无监督用例的K-Means聚类,PCA等。 诸如IBM CPLEX或excel求解器之类的工具包由于易于实现而通常用于解决优化问题。

  • 可视化

报表主要是在excel和VBA上开发和交付的,用于复杂功能。 Cognos,Micro策略是大型企业通常使用的其他一些企业工具。

  • 寻求技能

由于上述工作的性质,所需的技能非常狭窄,并且仅限于现成的技能。 数据科学公司通常会雇用具有统计学学位的人员,并对他们进行必要的编程技能培训,以使其具备所需的编程技能,这些技能主要是SQL,SAS和VBA编程。

然后> 现在 >以后

  • 数据处理

Python&R是当今数据科学家日常数据处理工作的主要技术。 它们是开源工具,具有庞大且不断发展的库,还具有与大数据平台以及可视化产品集成的能力。 R&Python具有同等的能力和多功能性,并且可以处理各种用例。 但是,一般而言,当主要目标是使用探索性分析或建模来获取业务见解时,R是首选。 由于其通用的编程功能,Python通常是开发其中嵌入了分析引擎的应用程序的首选。 这两个不仅在今天很受欢迎,而且还会在未来几年内停留。

一个重要的颠覆者是分布式处理框架领域,该领域由两个Apache Open Source Projects(Hadoop和Spark率先提出。 Hadoop在2010年代初期迅速发展,并且仍然非常受欢迎。 首次引入时,与关系数据库系统相比,Hadoop的功能受到限制。 但是,由于它的低成本,灵活性,快速缩放的能力,但更重要的是随着许多基于地图/缩减功能的使能器(如Hive,PIG,Mahout等)的发展,它开始发挥作用,仍然是许多技术的选择每天产生TB数据的组织。

尽管Hadoop是分布式数据处理领域的先驱,但在使用诸如迭代数据处理,预测建模/机器学习(由于涉及多个步骤而又要进行迭代)和实时/流处理等案例时,Hadoop却缺乏性能。 这主要是因为MapReduce在每个步骤都读写数据,因此增加了延迟。 Apache Spark的出现解决了这一问题,Apache Spark是一种内存分布式框架,可将数据保存在内存中以执行完整的操作(弹性分布式数据集(RDD)的概念使其成为可能)。 对于前面提到的用例,这使其比基于Hadoop的MapReduce的操作快许多倍。 更重要的是,它还与许多编程语言(例如Scala,Python或Java)兼容,因此开发人员可以使用他们选择的编程语言来开发基于Spark的应用程序

  • 预测建模

机器学习领域也见证了组织和数据科学家使用越来越多的“更深层”技术取得的许多进步。 它们比世界上的线性和物流回归要好得多,因为它们可以发现复杂的模式,非线性,可变的相互作用等,并提供更高的准确性。 其中一些技术如下所示

监督下-GBM,XGBoost,随机森林,参数GAM,支持向量机,多层感知器

无监督— K近邻,矩阵分解,自动编码器,受限玻尔兹曼机

NLP和文本挖掘-潜在Dirichlet分配(生成关键字主题标签),最大熵/ SVM / NN(用于情感分类),TensorFlow等。

优化-遗传算法,模拟退火,禁忌搜索等。

一些组织还采用了各种技术的集成(混合)来提高预测准确性。

尽管上述技术比其前身更复杂,但它们是“深度”的,但不应将它们与“深度学习”的整个不同领域相混淆,而“深度学习”在当今已在AI /计算机视觉空间。 尤其是“深度学习模型”。 深度卷积网络可以在结构化数据上进行训练,以解决常见的业务用例,它们主要用于图像分类/识别和图像特征学习领域。 深度学习未进入常规业务用例的背后原因之一是因为它们在开发,实施和维护方面的资源更加密集。 这些通常需要先进的GPU来进行开发,并且可能不适合常规的业务用例,除非由于准确性提高而获得ROI的证明。 但是,由于提供的准确性可转化为更高的ROI,因此一些组织(非技术组织)已开始使用它们来开发非AI预测用例。

  • 可视化

尽管大多数组织都喜欢Tableau,QLikview,ELasticSearch Kibana等现成的产品,但许多组织也正在采用D3和Angular之类的开源技术作为低成本的选择,来开发定制的,具有视觉吸引力的交互式网络以及移动仪表板。 该库提供了多个可重用的组件和模块,可加快开发速度。

  • 寻求技能

随着技术和算法前沿的发展以及组织要求的各种业务用例,数据科学公司开始寻找思维开阔的思想,基本的编程技术和基本的数学技能。 具有这种技能的人不仅能敏捷地解决任何业务问题,而且还能灵活地学习新技术。 对于这样的数据科学家来说,不仅精通R或Python还很容易,而且可以快速超越任何新兴技术的学习曲线。

然后>现在>以后

鉴于当前的数据科学趋势,正在进行的研发以及更重要的是企业已经开始询问的一些用例,数据科学的未来将主要集中在三件事上:自动化,实时数据科学开发(不计分) aka嵌入式数据科学,显然是“更大的数据”。 这应该引发数据库处理,编程生态系统和更新算法领域中新的数据科学范式的需求和出现。 更重要的是,对于数据科学家来说,不断了解正在进行的研发并主动学习新兴的工具和技术将变得至关重要,而不仅仅是玩追赶游戏,这对他们的职业不利。

在已经使用的技术中,至少在未来2-3年内, Scala,Python,Pyspark和Spark生态系统应该仍然是主要的技术选择。 Julia在主流数据科学工作中并未花很多精力,但由于它与python相似,并且在许多用例上都在单线程系统上提供了更快的执行速度,因此它是一个非常有用的选择。 但是,Julia在真正开始被用作默认选项之一之前,可能需要对库进行更多的开发和改进。

但是,主要押注之一就是Google的Go编程语言。 GOlang提供的主要优点之一是,它使数据科学家能够开发“生产就绪的”数据科学代码/服务/应用程序。 用单线程语言编写的代码通常很难生产,再加上将模型从数据科学家的机器过渡到生产平台所需的大量工作(测试,错误处理和部署)。 Go在生产中的表现非常出色,它使数据科学家从一开始就可以开发比基于Python的重量级应用程序更可扩展,更高效的应用程序。 此外,它具有无缝处理和报告错误的能力,可确保随着时间的推移保持应用程序的完整性。

在算法方面,我们希望看到针对常规业务问题的深度学习领域有更多的开发和采用。 如前所述,到目前为止,深度学习的大多数应用都在图像识别,图像特征分析和AI领域。 尽管这一领域将继续发展,我们将看到高度创新的用例,但使用这些算法来解决常规业务用例将非常有用。 我们还应该在基于Boosting的算法领域中看到更多的采用方法 -传统上,这些算法需要进行细致的训练(以免过度拟合),并且由于数量巨大而需要大量的时间。 的迭代。 但是,随着XGB和LightGBM等最新进展,我们可以期待看到更多改进版本的Boosting以及更多的采用。

“大数据可视化”领域将得到更多采用。 在流数据之上开发的交互式可视化将需要通用的技能。 在Spark(火花流,Kafka)之上构建NodeJS和AngularJS应用程序并使用正确的数据库(mongo或Cassandra)将仍然是可行的选择之一。 带有Spark的Apache Zeppelin也应该获得更多采用,尤其是随着它的不断发展。

数据科学行业正在以指数方式发展—无论是它要解决的用例类型,还是工具/技术领域的转变和可用性。 成功的数据科学实践的关键是要聘请那些不断了解工具/技术领域中的研发并且不惧怕采用新技术的人员。 像一个好的预测模型一样,一个好的数据科学家应该评估可用的输入(即,已经使用或正在开发中的技术选项),并预测明天的最佳选择。

该文章由 Affine 联合创始人 Vineet Kumar 撰写