使用具有专用软件的物理设备(如终端、传感器和扫描仪等)也可用于管理物理设备和系统之间的接口。随后,这些数据可以通过典型的编程语言(如Java、Visual Basic、C++、MatLab和Lisp)来进行部分管理。也可使用开源和专用的数据采集软件,如MIDAS(最大集成数据采集系统)。
通常,数据采集系统是作为一个专用的独立系统而开发的,这种系统被称为数据记录器。在有特殊需求的情况下,系统的工作模型已准备好,并且也已呈现给了数据科学家。这样的原型有助于用户在系统实际构建之前测试数据获取机制。这有助于收集额外要求并测试已提出系统的可行性。
这里有发现更高层次内容的知识获取和机器学习方法(例如从资源中自动地获取信息和知识),这种知识获取方法的例子如概念图、审计、神经网络和其他与自动知识发现相关的方法。
在其他工具中,数据清洗工具、数据管理和建模工具以及数据可视化工具都非常重要。本文列出了不同类别中的一些主要工具。
01
数据清洗工具
一旦完成数据收集,便需要检查其清洁度。数据清洗通常称为数据净化,即其数据从源中删除或更正脏数据的过程。数据声明程序的目标是识别和消除数据中的错误,为进一步分析、建模和可视化提供一致的数据。
在数据项层级上,一些不正确的数据通过适当的验证被拒绝。在诸如文件和数据库的同构数据集合中,不一致程度和错误数量较少。在来自多个数据源的具有异构性质的大型数据库(如数据仓库、联邦数据库系统或全球基于Web的系统)中,数据清洗变得至关重要。
产生这些问题的原因有:
(1)不同的格式
(2)冗余数据
(3)数据使用的术语和标准不同
(4)合并数据使用的方法
删除不准确的、不完整或不合理的数据会提高数据的质量。缺失值、特殊值、范围检查、演绎修正、插值、最小值调整、错字、审计和工作流规范检查等是数据清洗的常用机制。
除了编程语言外,常用的数据清理工具如下所列。
1. Lavastorm分析
用于分析引擎等产品。
www.lavastorm.com
2. IBM InfoSphere信息服务器
分析、理解、清洗、监视、转换和传输数据。
http://www-03.ibm.com/software/products/en/infosphere-information-server/
3. SAS数据质量服务器
清洗数据,并在数据流管理服务器上执行作业和服务。
www.sas.com
4. Oracle的主数据管理(MDM)
是处理大量数据,并且提供诸如合并、清洗、扩充和同步企业的关键业务数据对象等服务的解决方案。
http://www.oracle.com/partners/en/most-popular-resources/059010.html
5. 益百利 QAS清洗服务
为地址验证提供CASS认证(编码精度支持系统)。
http://www.qas.co.uk/
6. NetProspex
为数据清理、追加以及正在进行的市场数据管理提供支持。在印度,它现在是邓白氏信息服务公司的一部分,其提供数据管理转换和数据质量程序。
http://www.netprospex.com/
http://www.dnb.co.in/
7. Equifax
为数据库管理、数据集成和数据分析提供解决方案。
http://www.equifax.co.in/
8. CCR Data
清理并审计数据。该公司研发了ADAM—数据清理平台。
9. Oceanosinc公司提供的解决方案
用于数据清理、联系发现和商业智能。
http://www.oceanosinc.com/
10. Nneolaki
提供的工具用于数据收集、清理、附加和管理。
http://neolaki.net/
11. 数据清洗产品
为数据清洗提供方案。
http://www.datacleanser.co.uk/
02
数据管理和建模工具
数据科学实践中的其他重要活动是数据管理和数据准备,其也被称作数据整理。数据整理是将数据转换或映射为格式良好的数据流的过程,以便数据可以顺利地用于后续处理。
实际上,该过程允许通过工具便利和自动地使用数据来进行进一步的活动。排序、解析、提取、分解和恢复数据是数据管理阶段的主要活动。诸如Pearl、R、Python等编程工具以及来自编程语言和软件包的一些现成库可用于支持数据管理活动。
一旦数据准备好进行分析,诸如线性回归、运筹学方法以及决策支持系统等技术便通常用于数据建模。在这里,数据建模的基本目标是,为了提高商业洞察力进而确定干净且有效的数据实体之间的关系。
致力于这个阶段的数据科学家或专家被称为数据建模者。数据建模可以在概念层面、企业层面和物理层面完成。以下是支持数据建模的主要工具。
12. CA ERwin数据模拟
为管理复杂数据提供了简单的可视化界面。
http://erwin.com/products/data-modeler
13. Database Workbench
为使用多个数据库进行开发提供了一个单一的开发环境。
http://www.upscene.com/database_workbench/
14. DeZign for Databases
是一个支持数据库设计和建模的工具。它还为数据库应用程序开发提供了复杂的可视化数据建模环境。
http://www.datanamic.com/dezign/
15. Enterprise Architect
是用于数据建模和软件工程的完全集成的图形支持工具。
http://www.sparxsystems.com/products/ea/
16. ER/Studio
为数据管理专业人员提供协作机制以构建和维护企业级数据模型和元数据存储库。
http://www.embarcadero.com/products/er-studio
17. InfoSphere 数据架构师(理性数据架构师)
是一种协作式的数据设计方案。它简化了仓库设计、维度建模以及管理任务的变更。
http://www-03.ibm.com/software/products/en/ibminfodataarch/
18. ModelRight
为数据库设计人员提供了诸如数据库设计、图形支持、报告和可视化界面等活动的支持。
http://www.modelright.com/products.asp
19. MySQL Workbench
为数据库架构师、开发人员和数据库管理员提供了统一的可视化工具。MySQL Workbench还提供数据建模、SQL开发和综合管理。
http://www.mysql.com/products/workbench/
20. Navicat数据模拟器
有助于创建高质量的逻辑数据模型和物理数据模型。
http://www.navicat.com/products/navicat-data-modeler
21. Open ModelSphere
是一款独立于平台且免费的建模工具,可用作开源软件。它为数据建模和软件开发的所有阶段提供了普遍支持。
http://www.modelsphere.org/
22. Oracle SQL Developer Data Modeler
是一款用于创建、浏览和编辑数据模型的免费图形工具。它支持逻辑的、关系的、物理的、多维的以及数据类型的模型。
http://www.oracle.com/technetwork/developer-tools/datamodeler/overview/index.html
23. PowerDesigner
管理设计时间更改和元数据。
http://www.powerdesigner.de/
24. Software Ideas Modeler
通过诸如UML、业务流程模型和符号(BPMN)、系统建模语言(SysML)等的标准图以及多图表,为建模提供支持。
https://www.softwareideas.net/
25. SQLyog
是一个强大的MySQL管理者和管理工具。
https://www.webyog.com/
26. Toad Data Modeler
是一个数据库设计工具,其用于设计新的结构、实体关系图和SQL脚本生成器。
http://www.toad-data-modeler.com/
03
数据可视化工具
数据可视化是指数据的图形表示。数据的可视化使得理解数据和沟通变得更容易。
有很多可用于数据可视化的工具,下面列出了一些常用可视化工具:
27. Dygraphs
是一个快速且灵活的开源JavaScript图表库,其允许用户探索和解释密集的数据集。Dygraphs是一个高度可定制的工具。
http://dygraphs.com/
28. ZingChart
是一个JavaScript图表库,其能为大量数据提供快速和交互式的图表。
http://www.zingchart.com/
29. InstantAtlas
以有效的视觉方式提供交互式示意图和报告软件。
http://www.instantatlas.com/
30. Timeline
可以制作出美观的互动时间表。
http://www.simile-widgets.org/timeline/
31. Exhibit
是由麻省理工学院开发的完全开源软件,其有助于创建交互式的示意图和其他基于数据的可视化。
http://www.simile-widgets.org/exhibit/
32. Modest Maps
对于想要使用交互式示意图的设计者和开发者来说,是一个免费的图书馆。
http://modestmaps.com/
33. Leaflet
是适用于移动友好交互式示意图的现代开源JavaScript库。
http://leafletjs.com/
34. Visual.ly
有助于创建视觉表征。
http://create.visual.ly/
35. Visualize Free
构建交互式可视化,用来说明简单图表不易表示的数据。
http://visualizefree.com/index.jsp
36. 多眼
IBM研发的“多眼”可以帮助用户从数据集创建可视化并启用数据分析。
http://www-969.ibm.com/software/analytics/manyeyes/
37. D3.js
是一个JavaScript库,D3.js从多个数据源使用HTML、SVG和CSS来生成图形和图表。
http://d3js.org/
38. Google Charts
提供一种机制来以多种交互式图表(如线形图、复杂的分层树形图等)的形式对数据进行可视化。
https://developers.google.com/chart/interactive/docs/
39. Crossfilter
是一个JavaScript库,其用于探索浏览器中的大规模多变量数据集。此外,Crossfilter还提供可协调的3D可视化。
http://square.github.io/crossfilter/
40. Polymaps
在地图上提供了快速且多缩放的数据集演示。
http://polymaps.org/
41. Gephi
是一款适用于各种网络、复杂系统、动态和分层图形的交互式的可视化探索平台。它支持探索性数据分析、链接分析、社交网络分析以及生物网络分析。该工具为已识别的类似数据集呈现彩色区域。
https://gephi.github.io/
除了上述工具和技术之外,数据科学领域还需要其他更多的专用新工具。由于数据科学领域是来自多个学科的技术联盟,并且具有无处不在的应用,因此数据科学在研究和开发中必须被赋予最重要的地位。此外,数据科学领域还需要文档编制、新的技术和模型。
典型的模型和技术可能不适合已获取的数据集,这些数据需要典型方法外的支持。在这里,人工智能技术可能会有很大的贡献。
本文摘编自《大数据分析与算法》,经出版方授权发布