评估 衡量您正在考虑的技术,产品和项目的优缺点。

15数据科学工具在2021年使用

众多工具可用于数据科学应用程序。阅读大约15个,包括它们的功能,功能和用途,看看它们是否适合您的分析需求。

企业数据的数量和复杂性不断增加,以及它在决策和战略规划中的核心作用,正促使组织在人员、流程和技术上进行投资,以理解数据资产,并从数据资产中获得见解。这包括数据科学应用中常用的各种工具。

市场研究公司IDC估计,2020年期间,创建、捕获、复制和消耗的数据超过64ztb,相当于640亿TB,由于远程工作和在线流媒体的增多,COVID-19大流行加速了数据的使用。但数据分析倡议也在发挥作用。IDC负责全球数据圈预测的高级副总裁大卫·赖因塞尔(David Reinsel)在2020年5月发布最初的59泽字节预测时说,持续的数据增长“更多地是由我们消费和分析的数据驱动的,而不是我们创造的数据。”

当他们建立起他们的支持技术组合时,数据科学团队可以从多种工具和平台中进行选择。以下是15个顶级数据科学工具的概要,它们可能有助于你的分析过程,按字母顺序列出了它们的特性和功能的细节——以及一些潜在的限制。

1.Apache火花

Apache Spark是一个开源的数据处理和分析引擎,它可以处理大量的数据——根据支持者的说法,数pb以上的数据。自从Spark于2009年创建以来,它快速处理数据的能力推动了该平台使用的显著增长,帮助Spark项目成为其中最大的开源社区之一大数据技术。

由于它的速度,Spark非常适合连续智能应用通过近实时处理流式传输数据。但是,作为通用分布式处理引擎,Spark同样适用于提取,转换和负载使用和其他SQL批处理作业。事实上,火花最初被吹捧为Mapreduce引擎的更快替代方案,用于在Hadoop集群中进行批量处理。

Spark仍然与Hadoop一起使用,但也可以针对其他文件系统和数据存储运行独立式。它具有广泛的开发人员库和API,包括机器学习库和支持关键编程语言,更容易数据科学家快速让平台工作。

2. D3.JS.

另一个开源工具,d3.js是一个JavaScript用于在web浏览器中创建自定义数据可视化的库。通常被称为D3,代表数据驱动文档,它使用web标准,如HTML,可伸缩矢量图形和CSS,而不是它自己的图形词汇表。D3的开发人员将其描述为一个动态且灵活的工具,只需最少的努力就能生成数据的可视化表示。

D3.js让可视化设计者通过文档对象模型将数据绑定到文档,然后使用DOM操作方法对文档进行数据驱动的转换。首次发布于2011年,它可用于设计各种各样的数据可视化的类型支持交互、动画、注释、定量分析等功能。

但是D3包含30多个模块和1000多种可视化方法,学习起来比较复杂。此外,许多数据科学家没有JavaScript技能。因此,他们可能更愿意使用商业可视化工具,如Tableau,而将D3留给数据可视化开发人员和数据科学团队成员的专家使用。

3.IBM SPSS

IBM SPSS是一个用于管理和分析复杂统计数据的软件系列。它包括两个主要产品:SPSS统计数据,a统计分析SPSS Modeler是一个具有拖放UI和机器学习能力的数据科学和预测分析平台。

SPSS统计信息涵盖了分析过程的每一步,从规划到模型部署,使用户能够阐明变量之间的关系,创建数据点集群,确定趋势并进行预测,以及其他功能。它可以访问通用的结构化数据类型,并提供菜单驱动的UI,其自己的命令语法和集成r和python扩展的能力的组合,以及对SPSS Modeler的自动化程序和导入导出联系的功能和集成R和Python Extensions的功能。

由SPSS公司在1968年创建,最初的名称为社会科学统计软件包,统计分析软件在2009年被IBM收购,随着预测建模SPSS之前收购的平台。虽然该产品家族的官方名称是IBM SPSS,但该软件通常仍被简单地称为SPSS。

4.朱莉娅

Julia是一种开源编程语言,用于数值计算,以及机器学习等各种数据科学应用。在宣布朱莉娅的2012年博客文章中,它的四个创作者表示,他们已经开始设计一种解决所有需求的语言。一个重要的目标是避免以一种语言编写程序并将它们转换为另一个语言进行执行。

为此,Julia结合了高级动态语言的便利性和可与静态类型语言(如C和Java)相比的性能。用户不必在程序中定义数据类型,但有一个选项允许他们这样做。在运行时使用多分派方法也有助于提高执行速度。

茱莉亚1。0面世了2018年,也就是汉语研究工作开始九年之后;最新版本是1.6,于2021年3月发布。Julia的文档指出,由于它的编译器不同于Python和R等数据科学语言中的解释器,新用户“一开始可能会发现Julia的性能不直观”。但是,它声称,“一旦你理解了Julia的工作原理,就很容易编写出几乎和c语言一样快的代码。”

5. Jupyter笔记本

开源Web应用程序,Jupyter笔记本支持数据科学家、数据工程师、数学家、研究人员和其他用户之间的交互协作。这是一个计算笔记本工具,可以用来创建、编辑和共享代码,以及解释性文本、图像和其他信息。例如,jupiter用户可以将软件代码、计算、注释、数据可视化和计算结果的富媒体表示添加到一个文档中,称为笔记本,然后可以与同事分享和修改。

据jupyter笔记本的文档,结果,笔记本“可以作为数据科学团队成员之间的互动会话的完整计算记录”。笔记本文档是具有版本控制功能的JSON文件。此外,笔记本查看器服务使它们能够呈现为静态网页,以便由没有在其系统上安装Jupyter的用户查看。

jupiter Notebook的根源在于编程语言Python——它最初是IPython交互式工具包开源项目的一部分,在2014年被分离出来。朱庇特这个名字是由茱莉亚、巨蟒和R松散组合而成的;除了支持这三种语言之外,jupiter还为其他数十种语言提供了模块化内核。

6.Keras

Keras是一个编程接口,可以让数据科学家更容易地访问和使用TensorFlow机器学习平台。它是开源的深度学习在Python上写入的API和框架,在Tensorflow之上运行,现在集成到该平台中。Keras先前支持多个后端,但是在2020年6月20日开始的2.4.0发布开始的情况下完全绑定到Tensorflow。

作为一个高级API,Keras设计用于驱动容易快速的实验,这需要比其他深度学习选项更少的编码。目标是加速机器学习模型的实现——特别是深度学习神经网络—通过“高迭代速度”的开发过程,正如Keras文档所述。

Keras框架包含一个顺序接口,用于创建相对简单的线性堆栈以及用于构建更复杂的层图或从头编写深度学习模型的功能性API。Keras模型可以运行在cpu或gpu上并在多个平台上部署,包括网页浏览器、Android和iOS移动设备。

7.Matlab

自1984年以来由软件供应商MathWorks开发和销售,Matlab是一种高级编程语言和分析环境,用于数值计算,数学建模和数据可视化。它主要由传统工程师和科学家使用,分析数据,设计算法和开发用于无线通信,工业控制,信号处理等应用的嵌入式系统,通常与伴侣同一型设计和模拟设计和仿真功能一起进行音乐会。

虽然Matlab在数据科学应用中的应用不如Python、R和Julia等语言广泛,但它确实支持机器学习和深度学习,预测建模,大数据分析、计算机视觉和数据科学家的其他工作。平台内建的数据类型和高级功能旨在加快探索性数据分析和数据准备在分析应用程序。

比较容易学习和使用,Matlab矩阵实验室——包括预构建的应用程序,但也允许用户构建自己的应用程序。它还拥有一个附加工具箱库,其中包含特定于学科的软件和数百个内置功能,包括在2D和3D图中可视化数据的能力。

8.Matplotlib

Matplotlib是一个开源的Python绘图库,用于读取、导入和在分析应用程序中可视化数据。数据科学家和其他用户可以使用Matplotlib创建静态、动画和交互式数据可视化,在Python脚本、Python和IPython shell、Jupyter Notebook、web应用服务器和各种GUI工具包中使用它。

库的大型代码库可能具有挑战性,但它以分层结构组织,旨在使用户能够构建最重要的命令来构建可视化。层次结构中的顶部组件是Pyplot,该模块提供“状态机环境”,以及类似于Matlab中的一组简单绘图函数。

Matplotlib于2003年首次发布,它还包括一个面向对象的接口,可以与pyplot一起使用,也可以单独使用;它支持用于更复杂数据绘图的低级命令。该库主要关注于创建2D可视化,但提供了一个带有3D绘图特性的附加工具包。

9. Python.

Python是最广泛使用的编程语言数据科学和机器学习也是最流行的语言之一。Python开源项目的网站将其描述为“一种具有动态语义的解释型、面向对象的高级编程语言”,以及内置的数据结构和动态类型和绑定功能。该网站还吹捧Python简单的语法,说它容易学习,并且强调可读性,降低了程序维护的成本。

多功能语言可用于广泛的任务,包括数据分析,数据可视化,AI,自然语言处理和机器人过程自动化。开发人员也可以用Python创建web、移动和桌面应用程序。除了面向对象编程,它支持程序,功能和其他类型,以及在C或C ++中编写的扩展。

Python不仅被数据科学家、程序员和网络工程师所使用,而且也被从会计到数学家和科学家等计算机学科以外的工作者所使用,这些人经常被它的用户友好性所吸引。Python 2。x和3。X都是该语言的生产准备版本,尽管支持2。X线于2020年结束。

10.PyTorch

用于构建和培训基于神经网络的深度学习模型的开源框架,Pytorch被其支持者推出,支持快速灵活的实验和无缝过渡到生产部署。Python库设计成比火炬更容易使用,这是一种基于Lua编程语言的前体机器学习框架。根据其创造者,Pytorch还提供比火炬更具灵活性和速度。

PyTorch于2017年首次公开发布,使用类数组张量对模型输入、输出和参数进行编码。它的张量类似于NumPy支持的多维数组,NumPy是另一个用于科学计算的Python库,但是PyTorch添加了内置的对在gpu上运行模型的支持。NumPy数组可以转换为张量以便在PyTorch中进行处理,反之亦然。

该库包括各种功能和技术,包括一个自动分化包装火炬。autograd和一个用于构建神经网络的模块,以及一个用于部署PyTorch模型和部署支持iOS和Android设备的TorchServe工具。除了主要的Python API之外,PyTorch还提供了一个c++ API,它可以用作单独的前端接口,也可以用于为Python应用程序创建扩展。

11. R.

R编程语言是为统计计算和图形应用程序以及数据操作、分析和可视化而设计的开源环境。许多数据科学家、学术研究人员和统计学家使用R检索、清理、分析和呈现数据,使其成为数据科学和高级分析最流行的语言之一。

r基础支持开源项目,并提供了具有增强r功能的代码库的数千个用户创建的软件包 - 例如,GGPlot2,一个用于创建图形的众所周知的包,该包是r的集合的一部分基于数据科学工具,称为Tidyverse。此外,多个供应商提供集成开发环境和用于R。

R是一种解释的语言,如Python,并具有相对直观的声誉。它是在20世纪90年代创建的替代版本,是在20世纪70年代开发的统计编程语言;r的名称既是播放,也是对其两个创作者姓名的第一个字母的引用。

12.情景应用程序

SAS是一个用于统计分析,高级分析,BI和数据管理的集成软件套件。由软件供应商SAS Institute Inc.开发和销售,该平台使用户能够集成,清洁,准备和操作数据,然后他们可以使用不同的方式分析它统计和数据科学技术。SAS可用于各种任务,从基本BI和数据可视化到风险管理,操作分析,数据挖掘,预测分析和机器学习。

SAS的发展始于1966年的北卡罗来纳州立大学;该技术的使用在20世纪70年代初开始增长,SAS研究所成立于1976年,是一家独立的公司。该软件最初是为统计学家开发的——SAS是统计分析系统(Statistical Analysis System)的缩写。但是,随着时间的推移,它被扩展为包括一系列广泛的功能,并成为商业企业和学术界使用最广泛的分析套件之一。

开发和营销目前主要专注于SAS VIYA,这是2016年推出的基于云的平台版本的基于云的版本重新设计为原生云在2020年。

13.scikit-learn

Scikit-Learn是一个用于Python的开源机器学习库,它基于Scipy和Numpy Scientific Computing Libraries,以及Matplotlib进行绘图数据。它支持两者监督和非监督机器学习包括许多算法和模型,称为估计在scikit-learn的说法。此外,它还提供了模型拟合、选择和评估以及数据预处理和转换的功能。

最初称为scikits。据了解,这个库开始于2007年谷歌Summer of Code项目,第一个公开发布于2010年。它名字的第一部分是缩写SciPy工具包也被其他SciPy附加包使用。Scikit-learn主要处理存储在NumPy数组或SciPy稀疏矩阵中的数字数据。

图书馆的工具套件还支持各种其他任务,例如数据集加载和组合数据变压器对象和估算器的工作流水管的创建。但是,由于设计限制,Scikit-reasure有一些限制。例如,它不支持深度学习,强化学习或GPU,图书馆的网站表示,其开发人员“只考虑既定的算法”。

14. Tensorflow.

纹orflow.是谷歌开发的一个开源机器学习平台,在实现深度学习神经网络方面特别受欢迎。该平台接受张量形式的输入,类似于NumPy多维数组,然后使用一个图结构,通过开发人员指定的计算操作列表来流数据。它还提供了渴望执行独立运行操作而不使用图形的编程环境,为研究和调试机器学习模型提供了更大的灵活性。

谷歌在2015年使TensorFlow开源,Release 1.0.0于2017年可用。TensorFlow使用Python作为其核心编程语言,现在还集成了用于构建和训练模型的Keras高级API。另外,TensorFlow.js库支持用JavaScript进行模型开发和自定义操作——或者运维,短暂 - 可以内置于C ++。

该平台还包括用于生产机器学习管道端到端部署的TensorFlow扩展模块,以及用于移动和物联网设备的TensorFlow Lite模块。TensorFlow模型可以在cpu、gpu和谷歌的特殊用途张量处理单元上训练和运行。

15.Weka

Weka是一个开源工作台,它提供了机器学习算法用于数据挖掘任务。Weka的算法,叫做分类器,可以直接应用于数据集,无需通过GUI或提供附加功能的命令行界面进行任何编程;它们也可以通过Java API实现。

工作台可用于分类,聚类,回归和关联规则挖掘应用程序并包括一组数据预处理和可视化工具。此外,Weka支持与r,python,spark和scikit-learn等其他库的集成。对于深度学习用途,附加包将其与Eclipse Deeplearning4j库相结合。

Weka是GNU通用公共许可证下的自由软件。它是1992年由新西兰怀卡托大学开发的;最初的版本是用Java重写的,以创建当前的工作台,该工作台于1999年首次发布。Weka是怀卡托知识分析环境的缩写,也是新西兰本土一种不会飞的鸟的名字,该技术的开发人员称这种鸟有“好奇的天性”。

数据科学与机器学习平台

许多软件供应商也提供商业许可平台,为机器学习、人工智能和其他数据科学应用提供集成功能。提供的产品多种多样,包括机器学习操作中心,自动化机器学习平台和全功能分析套件,具有一些组合的MLOP,Automl和Analytics功能。许多平台包含上面列出的一些数据科学工具。

Matlab和SAS也可以算作数据科学平台。数据科学团队的其他主要平台选项包括:

  • Alteryx Analytic Process自动化平台
  • 亚马逊练介会
  • Azure机器学习
  • 砖Lakehouse平台
  • Dataiku
  • DataRobot
  • Domino数据科学平台
  • 谷歌云AI平台
  • H2O AI杂交云
  • IBM Watson Studio
  • Knime
  • RapidMiner
  • Tibco数据科学

有些平台也有免费的开源或社区版本——例如Dataiku和H2O。Knime将一个开源分析平台与一个商业的Knime服务器软件包结合起来,该软件包支持基于团队的协作和工作流自动化、部署和管理。

下一个步骤

成功最需要的14种数据科学技能

数据科学过程:分析应用程序的6个关键步骤

要遵循的4个数据科学项目最佳实践

深入挖掘高级分析软件

搜索数据管理
搜索AWS
搜索内容管理
搜索甲骨文
搜索树液
搜索SQL.服务器
关闭