第9章 特征专项测试
随着大数据技术的快速发展,机器学习和人工智能已经渗透到科技生活的各个方面。特征工程作为连接数据和模型的桥梁,在机器学习生命周期中有着重要的作用。本章主要介绍特征工程基础知识和特征测试方法,并对特征测试加以实践。
9.1 特征工程简介
数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。可以说特征工程是机器学习成功的关键。
特征工程是将数据转换为表示潜在问题的特征,以供机器学习算法使用,从而提高机器学习性能。特征工程的目的是最大限度地从原始数据中提取特征以供算法和模型使用。通过总结和归纳,普遍认为特征工程过程如图9-1所示:
图9-1 特征工程流程图
9.1.1 数据探索
由于特征是原始数据通过一系列处理转换而来,那么在拿到一个新的数据集后,首要任务是确认数据的形式,通常将数据划分成下面两种形式[9]:
结构化(有组织)数据:可以看作是关系型数据库的一张表,一般可以用表格的形式组织,每列都有清晰的定义,包含了数值型和类别型两种基本类型;每一行数据表示一个样本的信息。像科学仪器报告的气象数据就是高度结构化的,因为存在表格的行列结构。
非结构化(无组织)数据:不遵循表示组织结构(例如表格)的数据。通常非结构化数据在我们看来是一团数据,或只有一个特征(列)。像图像、音视频及文本数据都是常见的非结构化数据,因为其包含的信息无法用一个简单的数值表示,也没有清晰的类别定义,并且每个数据的大小互不相同。
对于结构化数据,通常分成以下两类进行处理:
定量数据:通常是用来表示某种东西的数量或一些可量化的数据,本质上是数值。也就是我们常说的数值型特征。例如某天的温度就是定量的,身高也是定量的。
定性数据:通常是用来描述某种东西的性质,本质上来说是类别。常被称为类别型特征。一般而言,该类特征的类别数不会特别多。例如阴天或晴天就是定性的。
有时,数据可以同时是定量和定性的。例如酒店的评分(1~5星)虽然可以用数字表示,但是这个数字也可以代表类别。由于定量数据和定性数据之间的模糊性,我们会使用一个更深层次的方法进行处理,称之为数据的4个等级。
定类等级:定类等级是数据的第一个等级,其结构最弱,这个等级的数据只按名称分类。例如,性别(男、女),民族(汉、蒙、回等),这些数据都是定性的。这个等级上的数据不可以执行任何定量的数学操作,如加减乘除等。但可以进行类别数量统计,也可计算每种类别的占比。
定序等级:这个等级继承了定类等级的所有属性,而且数据可以自然排序。例如考试成绩等级(A/B/C/D)、年龄段(老/中/青)、文化程度(博士/硕士/学士/高中/初中等)。和定类等级一样,定序等级的天然数据属性仍然是类别。但是和定类等级相比,定序等级多了一些新的功能,在定序等级中,可以进行比较和排序,而且可以计算中位数和百分位数。
定距等级:数据不仅可以排序,而且数值之间的差异也有意义。也就是说,在定距等级中,可以进行加减操作。例如常见的温度、智商等,其差值是存在真实意义的数据。定距等级是定量数据,除计算众数、中位数及百分位数之外,还可以计算均值和标准差。
定比等级:这个等级上处理的也是定量数据,数据之间不仅可以进行加减操作,还可以进行乘除运算。例如常见的工资收入、身高体重等。
理解数据的不同等级对于特征工程是非常必要的。当需要构建新特征或修复旧特征时,我们必须根据数据的情况,合理地处理每一列数据。
版权声明:51Testing软件测试网获得人民邮电出版社和作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。