Python数据可视化1.2 数据转换

简介:

1.2 数据转换


现在,我们了解了数据的定义,但问题是:为什么要收集数据?数据对于描述物质或社会现象以及进一步回答这些问题非常有用。出于这个原因,确保数据的无误、精确和完整是很重要的;否则,错误、不精确和不完整的数据将导致响应结果的不精确或不完整。

数据有不同种类,其中包括过去表现数据、实验数据和基准数据。过去表现数据和实验数据当然很容易理解。另一方面,基准数据是用一个测度标准来比较两种不同项目或产品的特征。数据被转换为信息,得到进一步处理,然后用来解答问题。因此,很明显下一步就是转换的实现。

1.2.1 数据转换为信息

根据数据的内容和重要性,数据收集和储存有一些不同的方式。例如,如果数据是关于篮球季后赛的,那么这些数据将储存为文本和视频格式。另一个例子是一个国家所有城市的温度记录,这些数据通过不同形式收集得到。从数据转换为信息包含数据的收集、处理和组织,如下图所示:

 

收集来的数据需要处理和组织过程,这些数据后续可能没有结构、没有模型或没有模式。然而,该处理过程至少给我们一种从数据中发现问题答案的组织方式。这种处理可以是一种基于篮球员总得分的简单分类,或者根据城市和州名的分类。

从数据到信息的转换也可以不仅仅是分类,比如统计建模或计算算法。将数据转换为信息确实很重要,这样数据可以被查询、访问和操作。海量数据的转换可能包括这样几种处理方法:过滤、聚集、应用相关性、归一化和分类。

1. 数据收集

数据收集是一个耗时的过程。因此,人们正在寻找更好的自动数据采集方法。然而,人工数据收集仍然很常见。如今,数据的自动收集过程用到输入设备,比如传感器。例如,通过传感器检测水下珊瑚礁;农业上用传感器检测土壤性质、控制灌溉和施肥方法是另一个应用领域。

另一种自动收集数据的方法是通过扫描文档和日志文件,这也是一种服务器端数据收集的形式。人工处理包括基于网络且储存于数据库的数据收集方法,这些数据可以转换为信息。现在,基于网络的协作环境正受益于交流改善和数据分享。

传统的可视化和可视化分析工具专门为单个用户、单机可视化应用而设计。将这些工具的功能拓展到支持协作的层面需要一个漫长的过程,才能扩大真实世界中可视化的适用范围和应用领域。

2. 数据预处理

如今,基于数据量、数据来源的多重异质性和数据类型的不同,数据很容易受到噪音和不一致的影响。现有一些数据预处理技术,比如数据清洗、数据集成、数据压缩和数据转换。数据清洗用于数据中的噪音清理和矛盾修正。数据集成将多个数据源的数据合并起来,通常被称为数据仓库。数据压缩可以通过诸如合并、聚集和消除冗余特征等方法减少数据量。数据转换将数据缩放到一个较小的区间,从而提高处理和可视化的精确性和效率。数据的转换周期如下图所示:

 

异常值检测是非常规数据的识别,这些数据可能不会落入收集数据的预期行为或模式。异常值也称为离群点或噪音;比如信号数据,一个非常规的特别信号被视为噪音。交易数据中的一个离群点是欺诈交易。准确的数据收集对于保持数据完整性必不可少。然而,从另一角度考虑,异常值也非常重要,比如寻找诈骗保险理赔。

3. 数据处理

数据处理是转换过程中的重要一步。当务之急是关注数据质量。依存模型和聚类有助于准备分析数据和更好地理解处理步骤。虽然也有其他处理技术,但是我们在这不做过多赘述,仅以两种最受欢迎的处理方法为例。

依存模型是建模数据以确定表现方式性质和结构的基本原则。该过程寻找数据元素间的关系;比如,百货公司可能收集顾客购买习惯的数据。该过程有助于百货公司减掉频繁购买的信息。

聚类是在数据中发现群组,从某种方式上看,“相似性模式”没有用数据中已知的结构。

4. 组织数据

数据库管理系统允许用户以结构化的形式存储数据。然而,数据库太大而不能存入内存。有以下两种结构化数据的方法:

以结构化的形式将大量数据储存到磁盘中,比如,表、树或图表

为了快速访问,以结构化的形式将数据储存到内存中

数据结构由将数据结构化为可被储存和访问的一系列不同格式构成。常用的数据结构类型有数组、文件、表、数、列表、映射等。任何数据结构都是为特定目的而设计的,通过组织数据来进行数据储存、访问和操作。一种数据结构可能被选择或设计来储存数据,以实现用不同算法更快访问的目的。

经过高效收集、处理和组织所存储的数据,使数据更容易被理解,这也有助于更好地理解数据中蕴含的信息。

5. 获取数据集

针对接触不到组织数据的读者,下面列举出一些丰富的数据集资源:

http://grouplens.org(来自明尼苏达大学)

http://ichart.finance.yahoo.com/table.csv?s=YHOO&c=1962

http://datawrangling.com/some-datasets-available-on-the-web

http://weather-warehouse.com(天气数据)

http://www.bjs.gov/developer/ncvs/(Justice统计局)

http://census.ire.org/data/bulkdata.html(人口普查数据)

http://www.pro-football-reference.com(足球参考)

http://www.basketball-reference.com(篮球参考)

http://www.baseball-reference.com(棒球参考)

http://archive.ics.uci.edu/ml/datasets.html(机器学习)

http://www.pewresearch.org/data/download-datasets/

http://archive.ics.uci.edu/ml/datasets/Heart+Disease(心脏病)

1.2.2 信息转换为知识

信息是可量化的、可测度的、有形式的,可以被访问、生成、存储、分发、搜索、压缩和复制。信息可以通过数量或信息量进行量化。

通过应用离散算法,信息可转换为知识,知识要比信息更可量化。在某些领域,知识持续经历了一个不断发展的周期。当数据发生实时变化时,这种演变过程随之发生。

知识就像是帮助你做面包的面粉和酵母成分的烹饪配方。另一个看待知识的方法是数据和信息的结合,并加入经验和专家意见,以帮助决策。知识不仅仅是过滤或算法的结果。

转换中包括哪些步骤?这种变化如何发生?当然,它本身是不能发生的。尽管信息这个词是基于定义的不同阐释,但是,我们将在计算的范围内进一步探索。

有一个简单的类比用以说明信息和知识之间的区别:一门特定课程的课程材料为你提供有关概念的重要信息,随后老师引导学生通过讨论来理解概念。这有助于学生获得课程知识。类似地,信息转换为知识也需要完成一些工作。下图展示了信息转换为知识的过程:

 

正如上图所示,信息通过一些离散算法进行合并和运行后,就能转换为知识。需要通过整合信息得到更多的知识。通过这种转换获得的知识有助于回答有关数据或信息的问题,比如,公司在哪个季度销售收益最高?广告拉动销售的贡献有多大?今年发布了多少新产品?

1.2.3 知识转换为观点

在传统的系统中,信息经处理、分析并形成报告。自因特网诞生以来,我们可以获取经过处理的信息,而且社交媒体融合成为一种处理实际问题的新方式。

一些组织机构已开始分析外部数据来获得观点。比如,通过Twitter上消费者的推文完成对用户情绪的测度,以此来追踪他们对产品品牌的意见。在某些情况下,较高比例的用户会在社交媒体上发布新产品的好评,比如一台iPhone或平板电脑。分析工具能够提供该情绪的数据化证据,这就是数据可视化扮演的重要角色。

下面是知识转化为观点的另一个例子。2009年Netflix公司宣布了一场比赛,该比赛基于已有的电影分级,评选用来预测用户对电影评级的最佳协同过滤算法。比赛的获胜者用语用学理论,在预测用户分级方面提高10.05%的正确率,增加了Netflix公司的商业价值。

 

知识转换为观点是通过如上图所示的协作和分析来实现的。观点意味着看到解决方案,并发现需要做的事情。得到数据和信息很容易,一些组织机构已经知道获取方法,但是得到观点却很难。观点的得出需要新的创造性思维和连点成线的能力。除了应用创造性思维,数据分析和数据可视化在观点得出的过程中也发挥着很大作用。数据可视化被视为艺术和科学的结合。

相关文章
|
2天前
|
JSON 安全 数据安全/隐私保护
深度剖析:Python如何运用OAuth与JWT,为数据加上双保险🔐
【10月更文挑战第2天】当讨论Web应用安全时,认证与授权至关重要。OAuth 2.0 和 JSON Web Tokens (JWT) 是现代Web应用中最流行的两种认证机制。OAuth 2.0 是一种开放标准授权协议,允许资源拥有者授予客户端访问资源的权限,而不需直接暴露凭据。JWT 则是一种紧凑、URL 安全的信息传输方式,自我包含认证信息,无需服务器查询数据库验证用户身份。在 Python 中,Flask-OAuthlib 和 PyJWT 分别用于实现 OAuth 2.0 和 JWT 的功能。结合两者可构建高效且安全的认证体系,提高安全性并简化交互过程,为数据安全提供双重保障。
15 7
|
1天前
|
数据采集 存储 监控
如何使用 Python 爬取商品数据
如何使用 Python 爬取京东商品数据
15 3
|
1天前
|
数据采集 存储 监控
如何使用 Python 爬取京东商品数据
如何使用 Python 爬取京东商品数据
11 2
|
3天前
|
数据采集 机器学习/深度学习 存储
使用 Python 清洗日志数据
使用 Python 清洗日志数据
11 2
|
4天前
|
存储 数据可视化 Python
Python编程中的数据可视化技术
在数据驱动的世界中,将复杂的数据集转换为易于理解的视觉表示形式至关重要。本文将深入探讨如何使用Python进行数据可视化,包括选择合适的库、处理数据和设计有效的图表。我们将一起学习如何让数据讲故事,并确保你的信息传达清晰且有影响力。
|
1天前
|
Android开发 Swift iOS开发
python 基于电脑蓝牙连接获取手机的实时数据
python 基于电脑蓝牙连接获取手机的实时数据
5 0
|
2天前
|
数据可视化 数据挖掘 大数据
使用Python进行简单数据可视化
【10月更文挑战第2天】使用Python进行简单数据可视化
13 0
|
2天前
|
Web App开发 前端开发 JavaScript
Python编程—Ajax数据爬取(一)
Python编程—Ajax数据爬取(一)
|
2天前
|
前端开发 NoSQL MongoDB
Python编程—Ajax数据爬取(二)
Python编程—Ajax数据爬取(二)
13 0
|
3天前
|
安全 数据安全/隐私保护 开发者
保护敏感数据:使用Python加密数据的实用方法
保护敏感数据是一项基本的安全实践,Python通过上述库提供了强大的加密工具来实现这一目标。选择哪种方法取决于具体的应用场景和安全需求:对称加密(如AES)适合快速处理大量数据,而非对称加密(如RSA)更适合安全地交换密钥或进行身份验证。哈希函数则用于验证数据的完整性和一致性。通过合理使用这些技术,开发者可以大大增强其应用程序的安全性。
20 0