云计算数据可视化入门教程
本篇主要想聊聊数据,具体包括:数据预处理、数据分析。
数据预处理
在现实中所收集到的数据很多都是不完整的,甚至是有错误的。如果我们直接将收集到的数据进行处理分析,可视化,那么我想在这样糟糕数据质量的数据集中提取的信息是没有参考价值的。所以在进行分析、可视化之前,需要对数据进行一个预先的处理,目的也很简单,就是为了提高数据质量,使得可视化效果和质量得以提高。
上面提到了数据质量,其实数据质量的概念还是在数据价值的层面上。我们都知道现在是一个数据爆炸的时代,任何数据都有它的价值,而其价值的高低,我觉得主要取决于其数据质量。数据质量主要体现在以下几个方面:
数据的有效性:一些数据在与实际意义对应时,就会有一定的约束条件。例如:某地的气温应该是在一个合理的范围内,如果收集到的气温数据为100℃,或者-50℃,很明显,这些都属于无效数据,因其超出了数据的范围。
数据的准确性:这就受到多方面的影响,例如收集数据传感器的灵敏度,数据传输过程的损耗,存储方式等等原因。
数据的完整性:例如我们每次填写调查问卷,上面都会有一些必填选项,这相当于就是一个完整性的约束。
数据的时效性:这就反映了数据在时间维度上的特性。例如我们平常使用的微信等通讯工具,时效性对其就很重要,若今天发送的数据,要明天才收到,那么这条消息就已经失去了时效性,应被视为无效数据了。
继续回到数据的预处理,预处理的步骤一般要包括数据清理、数据集成、数据规约、数据变换和数据离散化。这里先就简单的说说:
数据清理:这就是要修正原始数据集中的错误。开头说过,实际收集的数据中会有很多的错误,基于这些错误数据的分析结果肯定是毫无意义的。典型的数据错误类型包括:缺失值和噪声值。对于缺失值,要么直接简单的删除这条数据,要么利用合理的方式进行缺失数据的填充。而对于噪声值,则可以利用回归分析、离群点分析等方法来找出噪声值。
数据集成:上面的数据清理一般是应用在同一数据源的不同数据上,而数据集成则是将来自不同数据源的同类数据合并。通常需要解决属性匹配、去除冗余、数据冲突检测与处理等问题。
数据规约:就是从庞大的数据集中通过规约形成一个精简的数据集,这个新数据集要远小于原数据集,但数据集的完整性几乎不变,不会影响到最后的分析结果,从而能够有效提高数据分析或数据挖掘的效率。
数据分析
数据分析的目的就是将海量数据背后的规律提炼出来,帮助我们进行相应的判断、决策等。在数据分析中,将图形界面融入进来,即可以利用大脑对可视化结果的直观感知和主动认知能力,有效提高数据分析的效率。下面我想简单说说数据分析中的数据挖掘。
现在是一个数据爆炸的时代,而传统的数据分析方法并不能有效的获得数据背后的深层联系,大量的数据被荒废,导致了一个“数据爆炸而信息匮乏”的现象。数据挖掘指从数据中发现知识的过程,数据挖掘的对象是大规模的高维数据。数据挖掘与传统的数据分析的本质区别在于数据挖掘是在没有明确假设的前提下去挖掘信息和发现知识。数据挖掘常见的功能可以分为:分类与预测、聚类分析、关联分析和异常分析等。
分类与预测:首先看看书本的定义:分类算法是从数据集中选出已经分好类的数据子集作为训练集,在此训练集上运用数据挖掘分类计数构造一个分类模型,然后根据此分类模型对数据集中未分类的数据进行分类。听着很绕口吧。分类其实就是将数据样本映射到一个事先定义的类中的学习过程。
聚类分析:聚类指将数据集聚集成几个簇(聚类),使得同一个聚类中单额数据集之间最大程度的相似,而不同聚类中的数据集最大程度的不同。聚类和分类的区别就是:聚类不依赖于事先定义好的类,不需要训练集。
关联分析:当数据集中的属性取值之间存在某种规律,则表明数据属性间存在某种关联。我映像中最深的例子还是原来上课老师讲的“尿布与啤酒的故事”。
异常分析:在海量的数据中,会有少量的数据与通常数据的行为特征不一样,可以称作离群点。通常都被认为是噪声,而对噪声的处理方式上面已经提到过,将它们的影响最小化,或者直接删除该数据。但是在有些情况下,这些离群点可能标识的是重要信息,例如医学临床上异常的病理反应可能是重大的医学发现。
本篇以及上一篇都还是前期的知识准备,还未真正进入数据可视化的大门。从下篇开始应该就可以学习数据可视化的基础了。