丰富的线上&线下活动,深入探索云世界
做任务,得社区积分和周边
最真实的开发者用云体验
让每位学生受益于普惠算力
让创作激发创新
资深技术专家手把手带教
遇见技术追梦人
技术交流,直击现场
海量开发者使用工具、手册,免费下载
极速、全面、稳定、安全的开源镜像
开发手册、白皮书、案例集等实战精华
为开发者定制的Chrome浏览器插件
现在几乎人人都在谈论大数据和人工智能,然而应用大数据和人工智能技术的基本前提是数据。不论数据的拥有方还是数据分析解决方案及工具的提供方,其终极目标都是“通过数据分析,从数据中找出洞见并应用于实际场景中带来价值”。数据探索、数据预处理等工作是进行数据分析的首要工作。不论是采用大数据的工具还是采用相对较小的数据集上的数据挖掘的工具,模型的构建都需要经过对数据不断地探索、选择和加工合适的字段、采用合适的算法并训练模型等过程。数据探索的目的是了解数据的状态,数据预处理则是为了将数据加工为更有价值的形态。数据分析者应当具有很好的意识,能够感知数据的价值,具备数据加工能力。
大多数情况下,数据分析的过程必须包括数据探索的过程。数据探索可以有两个层面的理解:一是仅利用一些工具,对数据的特征进行查看;二是根据数据特征,感知数据价值,以决定是否需要对别的字段进行探索,或者决定如何加工这些字段以发挥数据分析的价值。字段的选取既需要技术手段的支撑,也需要数据分析者的经验和对解决问题的深入理解。
表2-1均值、中位数、众数的例子
表2-2四分位的例子
图2-1箱形图及IQR
图2-2Skewness的含义
图2-3众数、均值及中位数在不同分布下的比较
表2-3通过中位数和均值的差异来判断分布的偏斜情况
图2-4峰态的例子
表2-4连续型变量数据探索示例代码的运行结果
表2-5分类型变量数据探索示例代码的运行结果
表2-6BankMarketingDataSet的字段说明
图2-5折线图的示例
图2-6箱形图的示例
图2-7柱状图示例
图2-8双变量关系探索的示例(X轴是age变量,Y轴是balance变量)
数据的重要性在大多数情况下都超过了算法的重要性。数据预处理是数据分析过程中的一个重要步骤。多年以来,人们在数据质量上的持续投入大幅减少了越界、缺失、不一致等问题。但是,数据质量问题仍然存在。数据分析者应当对数据质量时刻保持警惕,因为质量很差的数据是很难得到有用的分析结果的。既然数据质量问题不可避免,那么处理它们是数据预处理的工作之一。数据预处理的完整工作应当包括数据清洗、数据集成、数据变换和数据归约处理。
图2-10数据空白值填充的示例
图2-11分别执行数据预处理的3个条件,查看触发条件
对于连续型变量,如果该变量的取值的个数小于设定阈值(默认是5),那么将该变量转化为有序型分类变量。对于有序型分类变量(数值类型),如果该变量的类型的个数大于设定阈值(默认是10),那么将该变量转化为连续型变量。1.连续型变量的变换对于连续型变量,为了保证数据中不同的字段保持同样的尺度(这样既可以防止某些字段在建模过程中发生溢出,又可以保证每一个字段在模型中的权重相同),我们需要进行一些尺度变换的操作。分箱(binning,又称离散化)是将连续型数据转换为分类型变量,转换的目的是提高变量的解释性。(1)尺度变化为了使数据尺度一致,可以对原始数据进行中心化、标准化、归一化、Z-score变换、最小-最大值变换等。在表2-7中我们列举了典型的数据转换方法。(2)分箱变换对于一些连续型变量,从业务和数据特点上考虑,需要将连续型数据变为分类型数据,可以进行binning操作,常用的分箱变换方法如表2-8所示。分箱技术的方法有很多种,比较常用的有下面的3种方式:
表2-7典型的数据转化方法
表2-8分箱变换方法
图2-12采用中位数对连续型变量进行划分
图2-13很多情况下,低价值的客户总是占多数
图2-14按照80%-20%的划分能够将高价值的客户显著区分出来
表2-93种分箱策略的结果示例
图2-15源数据分布及3种分箱策略的结果示例
表2-10分类型变量的变换
表2-11分类型变量的变换为dummy字段
表2-12员工个人信息的示例
图2-16模型的残差分布
图2-17由一个衍生字段代表原来10列数据的信息
图2-18因变量的分布
图2-19因变量做对数转变后的分布
图2-20数据采样的一般过程
图2-21典型的采样类型
概率抽样适用的场景是采用样本数据来体现整体的特征,包括以下几种:
非概率抽样都是按照抽样者的意愿来进行的,典型的方式有以下几种:
图2-22两个样本、总体的关键指标的分布
在探索了数据的基本统计信息后,我们掌握了数据的分布特征等信息;接着又对数据做了预处理,过滤了缺失值和离群值,转变和处理了数据类型,提高了数据的质量。本节进一步对数据从字段上进行加工,从尺度、分布上进行变换,满足不同的业务和建模需要,变换后的字段更能满足模型需要,由此引出了本节的衍生指标的加工。
图2-23一个SAS决策树算法生成的模型结果
从实际业务指导的角度来看,分类型变量的易用性远远大于数值型变量。从模型算法的角度来看,采用数值型的指标会显著提高模型的性能。针对“富裕客户”这样的指标值,在建模时为模型性能考虑,最好是将其代表的数值直接使用而摈弃分类型变量。