上面的这个表中有很多列,这些原本就在表中的列,我们叫他原始数据,或者叫他原始特征。特征工程其中的“工程”两个字就是说要对这个特征做写什么操作。那么做什么操作呢?做这些操作的目的是什么呢?如果搞懂了这两个问题,那么你就真正了解了什么是特征工程。
(1)特征工程要处理的数据常见的形式
- 结构化数据,结构化数据类型可以看做关系型数据库的一张表(就像上面这张表),每一列都有很清晰的定义,包含了数值型、类别型两种基本类型。每一行数据表示一个样本信息。
- 非结构化数据,非结构化数据主要包括文本、图像、音频、视频数据,其中包含的信息无法用一个简单的数值表示,也没有清晰的类别定义,并且每一条数据的大小各不相同。
(2)特征工程具体要做哪些操作
-
数据清洗:去除无效、缺失、重复的数据,处理异常值,填充缺失值等。
-
特征选择:确定哪些特征对模型预测目标变量最有价值,剔除冗余、无关或者噪声特征。
-
特征构造:基于领域知识或数据分析结果创建新的特征,例如在上面表中,我们只知道房屋的宽度和深度两个特征,但如果我想预测房屋的房价,那么面积 = 宽度 * 深度就更贴合我需要分析的问题。“面积”这个特征就是我构造出来的。
-
特征缩放:对特征进行归一化或标准化处理,确保不同尺度的特征在模型训练中具备可比性。
-
特征组合:将多个特征通过数学运算(如乘法、加法、逻辑运算等)组合成更高阶的特征。
(3)特征工程的目的是什么
特征工程是从原始数据中提取、转换、构建具有代表性和预测能力的新特征的过程。特征工程的主要目的是提取出对预测模型有用的信息,这些信息以特征的形式表现出来。特征在机器学习模型中被用来预测或分类数据,因此它们必须包含足够的有用信息,以帮助模型做出准确的预测或分类。