信息爆炸的时代,大数据是我们最经常听到的词语,在商业中数据存在其价值,每个人浏览过的网页、搜索的产品,都可以变成企业的用户数据。在大数据时代,商业生态环境不断地发生着巨大变化。在数据爆炸的时代,我们就要对数据进行一定的处理,以便分辨出对我们有价值的数据,这就需要用到数据分析和数据挖掘。
而在数据挖掘中,海量的原始数据存在着大量不完整、不一致、有异常的数据,严重影响到数据挖掘建模的执行效率,甚至可能导致挖掘结果的偏差,所以进行数据预处理就显得尤为重要。数据挖掘中的“苦力工种”就是我们的数据预处理,数据预处理不但可以提高数据的质量,还能让数据更好地适应特定的挖掘技术或工具。
如何高效简洁自助处理数据?只要借助简单的工具就可以实现了。例如:Smartbi轻量级ETL功能
它是可视化流程配置,简单易用,业务人员都能参与;
它无需单独部署,允许将数据准备的结果,以数据表方式直接提供给BI使用;
它能够处理海量数量,提高数据处理的性能。
这块强大数据处理功能不仅支持异构数据,还内置排序、去重、映射、行列合并、行列转换聚合、去空值等等数据预处理功能,满足客户日常数据处理的需要。
下面我选几个数据预处理功能给大家介绍一下:
过滤和映射
过滤和映射是指根据用户需求,通过写SQL语句(片段)的方式,对数据集中指定字段进行条件筛选过滤。
如下图,原先示例数据源的输出结果有150条数据,对其进行过滤与映射,设置过滤器的表达式:[Species]=‘versicolor’ ,即只输出Species为versicolor的数据。
我们通过可视化流程操作,拖拽过滤器映射对象,通过设置过滤器条件来实现,如下图:
去除重复值
去除重复值是用于删除数据集中的重复行(假如有两行相同,保留其中一行)。也是数据处理中比较常见的要求。
如下示例,原先关系数据源的输出结果有9条数据,对其进行去除重复值,在选择列弹框中选择所有的列。
我们通过可视化流程操作,拖拽 去除重复值 对象,对其参数进行选择列设置来实现,如下图:
空值处理
空值处理节点是将空值替换为均值、最大频数或者用户自定义的值等,实现空值的填充或者过滤。空置处理的替换值包括最大值、最小值、平均值、中位数、按空值百分比删除列、出现频率最多替换、指定值、过滤整行,用于满足不同的用户需求。
我们来看一个示例:我们将空值处理为该列出现频率最多的值,例如number出现频率最多的值为“4”,则空值经过处理后变成“4”;count出现频率最多的值为“100”,则空值经过处理后变成“100”。
我们通过可视化操作拖拽 空值处理 对象对原先 数据源 进 行空值处理,设置如下图,存在空值,对其进行空值处理,选择列:number、count,空值处理为“出现频率最多替换”。
行转列/列转行
行转列是用于实现将数据结果的行转换成列。列转行是用于实现将数据结果的列转换成行。
下面我们举一个行转列的例子。如下图,原先数据集有4条数据,对其进行行转列。
我们通过可视化操作拖拽 行转列 对象对原先数据源进行空值处理,设置如下图,设置选择要的列为“科目”,请选择值列为“分数”,聚合方式为“最大值”。
除了以上功能,Smartbi数据预处理功能还有采样、拆分、JOIN、排序、合并列/合并行、增加序号列、聚合、派生列等,有兴趣的小伙伴可以到我们wiki上学习使用哦!
使用这些预处理功能处理完成的数据,我们就可以输出到目标源中了。
数据预处理的确是数据挖掘中的“脏活累活”,但这不代表不能用技术的力量提高这部分工作的效率。我们对于数据预处理的需求已经日益增加,海量的数据每天都充斥在我们眼前,如何将数据价值发挥到最大,就需要我们切实地做好数据预处理。既然有工具可以方便帮我们解决数据预处理,又能保证数据安全,我们何乐而不为呢?