每个数据科学家都应该知道的18种基本软件

数据科学适合喜欢解开纠结的事物并发现明显混乱中的隐藏奇迹的任何人.


这就像在大海捞针中搜寻;只是数据科学家根本不需要动手。他们使用带有彩色图表的精美工具,看着成堆的数字,然后潜入数据草堆,以具有高业务价值的洞察力的形式找到有价值的针头.

典型的 数据科学家 工具箱应至少包括以下每个类别中的一项:关系数据库,NoSQL数据库,大数据框架,可视化工具,抓取工具,编程语言,IDE和深度学习工具.

关系数据库

关系数据库是在具有属性的表中结构化的数据的集合。这些表可以相互链接,定义关系和限制,并创建所谓的数据模型。要使用关系数据库,通常使用一种称为SQL(结构化查询语言)的语言。.

在关系数据库中管理结构和数据的应用程序称为RDBMS(关系数据库管理系统)。有很多这样的应用程序,最相关的应用程序最近开始把重点放在数据科学领域,增加了与大数据存储库一起工作的功能,并应用了诸如数据分析和机器学习之类的技术.

SQL服务器

这个 一个就是微软的RDBMS,它通过不断扩展其企业功能已经发展了20多年。从2016版开始,SQL Server提供了一系列服务,其中包括对嵌入式R代码的支持。 SQL Server 2017通过将其R Services重命名为Machine Language Services并增加了对Python语言的支持来增加赌注(有关下面这两种语言的更多信息).

通过这些重要的补充,SQL Server面向可能没有Transact SQL(Microsoft SQL Server的本机查询语言)经验的数据科学家。.

SQL Server远非免费产品。您可以购买许可证以将其安装在Windows Server上(价格会根据并发用户数而有所不同),也可以通过Microsoft Azure云将其用作收费服务。. 学习Microsoft SQL Server很容易.

的MySQL

在开源软件方面, 的MySQL 拥有RDBMS的人气王冠。尽管Oracle目前拥有它,但它仍然是免费的,并且根据GNU通用公共许可证的条款是开源的。由于大多数基于Web的应用程序均符合SQL标准,因此将MySQL用作基础数据存储库.

易于安装的过程,庞大的开发人员社区,大量全面的文档以及简化日常管理活动的第三方工具(例如phpMyAdmin)也有助于其受欢迎。尽管MySQL没有本机功能来进行数据分析,但它的开放性使其可以与您选择的几乎所有可视化,报告和商业智能工具集成。.

PostgreSQL的

另一个开源RDBMS选项是 PostgreSQL的. PostgreSQL虽然不如MySQL流行,但以其灵活性和可扩展性以及对复杂查询的支持而著称,这些查询超出了SELECT,WHERE和GROUP BY等基本语句的范围。.

这些功能使其在数据科学家中越来越受欢迎。另一个有趣的功能是对多环境的支持,使其可以在云和本地环境中使用,也可以在两者的混合中使用,通常称为混合云环境。.

PostgreSQL能够将在线分析处理(OLAP)与在线事务处理(OLTP)相结合,并以一种称为混合事务/分析处理(HTAP)的模式工作。由于添加了用于地理数据的PostGIS和用于文档的JSON-B,它也非常适合处理大数据。 PostgreSQL还支持非结构化数据,这使其可以归为两类:SQL和NoSQL数据库.

NoSQL数据库

也称为非关系数据库,这种类型的数据存储库提供了对非表格数据结构的更快访问。这些结构的一些示例包括图形,文档,宽列,键值等。 NoSQL数据存储可以搁置数据一致性,而带来其他好处,例如可用性,分区和访问速度.

由于NoSQL数据存储中没有SQL,因此查询这种数据库的唯一方法是使用低级语言,并且没有像SQL这样被广泛接受的语言。此外,没有NoSQL的标准规范。讽刺的是,这就是为什么某些NoSQL数据库开始增加对SQL脚本的支持的原因.

MongoDB

MongoDB 是一种流行的NoSQL数据库系统,它以JSON文档的形式存储数据。它的重点在于以非结构化方式存储数据的可伸缩性和灵活性。这意味着在所有存储的元素中都没有观察到的固定字段列表。此外,数据结构可以随着时间而改变,这在关系数据库中意味着影响运行中的应用程序的高风险。.

MongoDB中的技术允许建立索引,临时查询和聚合,为数据分析奠定了坚实的基础。数据库的分布式性质提供了高可用性,可伸缩性和地理分布,而无需复杂的工具.

雷迪斯

这个 一个是开源NoSQL前端中的另一种选择。它基本上是一个在内存中运行的数据结构存储,除了提供数据库服务外,它还用作高速缓存和消息代理.

它支持多种非常规的数据结构,包括哈希,地理空间索引,列表和排序集。它在数据密集型任务(例如计算集合交集,对长列表进行排序或生成复杂排名)中具有高性能,因此非常适合数据科学。 Redis出色的性能的原因在于其内存操作。可以配置为有选择地保留数据.

大数据框架

假设您必须分析Facebook用户在一个月内生成的数据。我们正在谈论照片,视频,消息等等。考虑到其用户每天向社交网络添加的数据量超过500 TB,因此很难衡量一整月数据所代表的数量.

为了有效地操作大量数据,您需要一个能够在分布式体系结构上计算统计信息的适当框架。主导市场的框架有两个:Hadoop和Spark.

Hadoop的

作为大数据框架, Hadoop的 处理与检索,处理和存储大量数据相关的复杂性。 Hadoop在由处理简单算法的计算机集群组成的分布式环境中运行。有一种称为MapReduce的编排算法,该算法将大任务分成小部分,然后在可用集群之间分配这些小任务.

建议将Hadoop用于需要快速访问和高可用性的企业级数据存储库,而这一切都需要采用低成本方案。但是您需要具有深入了解的Linux管理员 Hadoop知识 维护框架并运行.

火花

Hadoop不是唯一可用于大数据操作的框架。这个领域的另一个大名是 火花. 在分析速度和易用性方面,Spark引擎旨在超越Hadoop。显然,它实现了这一目标:一些比较表明,在磁盘上工作时,Spark的运行速度比Hadoop快10倍,而在内存中的运行速度则快100倍。它还需要较少数量的计算机来处理相同数量的数据.

除了速度之外,Spark的另一个好处是它对流处理的支持。这种类型的数据处理,也称为实时处理,涉及数据的连续输入和输出.

可视化工具

数据科学家之间的一个普遍笑话是,如果您对数据的折磨时间足够长,它将承认您需要了解的内容。在这种情况下,“折磨”是指通过对数据进行转换和过滤来对其进行操作,以便更好地对其进行可视化处理。这就是数据可视化工具出现的地方。这些工具从多个来源获取经过预处理的数据,并以图形化,易于理解的形式显示其已揭示的真相。.

有数百种工具属于此类。不管您喜不喜欢,使用最广泛的是Microsoft Excel及其图表工具。使用Excel的任何人都可以访问Excel图表,但是它们的功能有限。这同样适用于其他电子表格应用程序,例如Google Sheets和Libre Office。但是我们在这里谈论的是更具体的工具,这些工具是专门为商业智能(BI)和数据分析量身定制的.

Power BI

不久前,微软发布了 Power BI 可视化应用程序。它可以从多种来源获取数据,例如文本文件,数据库,电子表格以及包括Facebook和Twitter在内的许多在线数据服务,并使用它来生成包含图表,表格,地图和许多其他可视化对象的仪表板。仪表板对象是交互式的,这意味着您可以单击图表中的数据系列以选择它,并将其用作板上其他对象的过滤器.

Power BI是Windows桌面应用程序(Office 365套件的一部分),Web应用程序和在线服务的组合,用于在Web上发布仪表板并与用户共享。该服务使您可以创建和管理权限,以仅将某些人授予对板的访问权限.

画面

画面 是从多个数据源的组合创建交互式仪表板的另一种选择。它还提供了桌面版本,Web版本和联机服务,以共享您创建的仪表板。它自然地“按照您的想法”运行(如其声称),并且对于非技术人员来说易于使用,并且通过大量教程和在线视频得到了增强。.

Tableau最杰出的功能包括无限的数据连接器,实时和内存数据以及针对移动设备进行优化的设计.

QlikView

QlikView 提供一个干净直接的用户界面,以帮助分析师通过直观的元素从现有数据中发现新的见解,而每个人都容易理解.

该工具是最灵活的商业智能平台之一。它提供了一个称为“关联搜索”的功能,该功能可以帮助您专注于最重要的数据,从而节省了自行查找数据所需的时间。.

借助QlikView,您可以与合作伙伴进行实时合作,进行比较分析。可以将所有相关数据组合到一个应用程序中,其安全功能会限制对数据的访问.

刮tools工具

在Internet刚刚兴起的时代,网络爬虫开始与网络一起以自己的方式收集信息。随着技术的发展,术语“ Web爬行”改为“ Web抓取”,但含义仍然相同:从网站自动提取信息。要进行网页抓取,您使用自动过程或漫游器,它们从一个网页跳到另一个网页,从中提取数据并将其导出为不同的格式,或将其插入数据库中以进行进一步分析.

下面我们总结了当今最流行的三种刮板机的特点.

章鱼

章鱼 网络抓取工具提供了一些有趣的功能,其中包括从网站获取信息的内置工具,这些工具使抓取机器人的工作变得异常容易。它是一个无需编码的桌面应用程序,具有用户友好的UI,可通过图形化工作流程设计器可视化提取过程.

Octoparse与独立的应用程序一起提供基于云的服务,以加快数据提取过程。使用云服务而不是桌面应用程序时,用户可以获得4倍至10倍的速度提升。如果您坚持使用台式机版本,则可以免费使用Octoparse。但是,如果您喜欢使用云服务,则必须选择其中一项付费计划.

内容收集器

如果您正在寻找功能丰富的抓取工具,则应着眼于 内容收集器. 与Octoparse不同,要使用Content Grabber,必须具备高级编程技能。作为交换,您将获得脚本编辑,调试界面和其他高级功能。使用Content Grabber,您可以使用.Net语言编写正则表达式。这样,您不必使用内置工具来生成表达式.

该工具提供了一个API(应用程序编程接口),您可以使用该API向桌面和Web应用程序添加抓取功能。要使用此API,开发人员需要获得对Content Grabber Windows服务的访问权限.

解析中心

这个刮板 可以处理大量不同类型的内容,包括论坛,嵌套评论,日历和地图。它还可以处理包含身份验证,Javascript,Ajax等内容的页面。 ParseHub可以用作可在Windows,macOS X和Linux上运行的Web应用程序或桌面应用程序.

与Content Grabber一样,建议您具有一些编程知识,以充分利用ParseHub。它有一个免费版本,限于5个项目,每次运行200页.

编程语言

就像前面提到的SQL语言是专门为关系数据库设计的一样,还有其他一些语言专门针对数据科学而创建。这些语言使开发人员可以编写处理海量数据分析的程序,例如统计数据和机器学习.

SQL也被认为是开发人员必须进行数据科学的一项重要技能,但这是因为大多数组织仍然在关系数据库上拥有大量数据。 “真正的”数据科学语言是R和Python.

蟒蛇

蟒蛇 是一种高级的解释型通用编程语言,非常适合快速的应用程序开发。它具有简单易学的语法,可以使学习曲线更陡峭,并降低程序维护成本。有很多原因使它成为数据科学的首选语言。仅举几例:脚本编写潜力,冗长性,可移植性和性能.

对于打算在进入真正的艰苦的数据整理工作之前进行大量实验的数据科学家,以及想要开发完整应用程序的数据科学家来说,这种语言是一个很好的起点。.

[R

R语言 主要用于统计数据处理和绘图。尽管它并不像Python那样开发成熟的应用程序,但R由于其在数据挖掘和数据分析方面的潜力而在近几年变得非常流行.

由于不断扩展的免费软件包库扩展了其功能,R能够执行各种数据处理工作,包括线性/非线性建模,分类,统计测试等。.

这不是一门易学的语言,但是一旦您熟悉了它的哲学,您将像专业人士一样进行统计计算。.

集成开发环境

如果您正在认真考虑致力于数据科学,那么您将需要仔细选择适合您需求的集成开发环境(IDE),因为您和您的IDE将花费大量时间共同工作.

理想的IDE应该将您日常工作所需的所有工具汇总为一个编码器:具有语法高亮和自动完成功能的文本编辑器,功能强大的调试器,对象浏览器以及对外部工具的轻松访问。此外,它必须与您喜欢的语言兼容,因此在知道要使用哪种语言之后选择IDE是一个好主意。.

斯派德

这个 通用IDE主要用于也需要编码的科学家和分析人员。为了让他们感到舒适,它不仅限于IDE功能,它还提供了用于数据探索/可视化和交互式执行的工具,这可以在科学包装中找到。 Spyder中的编辑器支持多种语言,并添加了类浏览器,窗口分割,跳转到定义,自动代码完成,甚至是代码分析工具.

调试器可帮助您交互式地跟踪每一行代码,探查器可帮助您查找和消除效率低下的问题.

PyCharm

如果您使用Python进行编程,则您选择的IDE很有可能是 PyCharm. 它具有一个智能代码编辑器,可进行智能搜索,代码完成以及错误检测和修复。只需单击一下,您就可以从代码编辑器跳到任何与上下文相关的窗口,包括测试,超级方法,实现,声明等。 PyCharm支持Anaconda和许多科学软件包,例如NumPy和Matplotlib,仅列举其中两个.

它提供与最重要的版本控制系统以及测试运行器,事件探查器和调试器的集成。为了完成交易,它还与Docker和Vagrant集成以提供跨平台开发和容器化.

RStudio

对于那些喜欢R团队的数据科学家而言,应该选择IDE。 RStudio, 由于其许多功能。您可以将其安装在装有Windows,macOS或Linux的桌面上,或者如果不想在本地安装,则可以通过网络浏览器运行它。两种版本都提供诸如语法突出显示,智能缩进和代码完成等功能。当您需要浏览表格数据时,可以使用一个集成的数据查看器.

调试模式允许逐步执行程序或脚本时查看如何动态更新数据。对于版本控制,RStudio集成了对SVN和Git的支持。一个不错的加法是可以使用Shiny编写交互式图形并提供库.

您的个人工具箱

在这一点上,您应该全面了解应该掌握的数据科学工具。另外,我们希望我们能给您足够的信息来决定每种工具类别中最方便的选择。现在由您决定。数据科学是一个蓬勃发展的领域 发展事业. 但是,如果要这样做,则必须跟上趋势和技术的变化,因为它们几乎每天都在发生.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map