正如本章引言所述,特征工程在机器学习工作流程中占据重要位置。但在此背景下,特征究竟是什么呢?核心而言,特征是被观测现象的一个可衡量的个体属性或特点。可以将其视为机器学习模型用于做出预测或判断的输入变量。在机器学习常用的结构化数据集(如表格或电子表格)中,特征通常对应于列。考虑一个简单例子:预测房价。您收集的原始数据可能包含每套房屋的各种信息。部分原始数据可能可以直接用作特征,而另一些特征可能需要创建或转换。直接可用特征: 房屋的面积、卧室数量、浴室数量。这些都是可衡量的属性,很可能可以直接输入到模型中。需要转换的特征: 地址可能是原始文本。这对于大多数模型来说无法直接使用。您可能需要从中构建特征,例如邮政编码、到最近学校的距离,或者一个代表社区的分类特征。需要创建的特征: 您可能拥有房屋的建造年份。虽然可用,但房屋的年龄(当前年份 - 建造年份)可能是一个信息量更大的特征。您从year_built数据中创建这个age特征。同样,拥有地块大小和房屋面积,可能让您能够创建yard_size特征(地块大小 - 房屋面积)或house_ratio特征(房屋面积 / 地块大小)。主要观点是,特征是为学习算法量身定制的原始数据的信息丰富的表示。原始数据通常杂乱,包含不相关信息,或者格式不适合算法(例如,文本地址、原始时间戳)。特征是经过提炼的、从这些原始数据中派生出来的数值或分类输入。下面是一个说明其区别的小表格:原始数据点可派生的潜在特征特征类型交易时间戳一天中的小时, 一周中的天, 是否周末 (二元)数值型, 数值型, 分类型客户地址邮政编码, 到商店的距离 (英里)分类型, 数值型产品描述 (文本)关键词数量, 情感分数数值型, 数值型销售价格, 成本价格利润率 ($ (销售价格 - 成本价格) / 销售价格 $)数值型卧室数量卧室数量数值型颜色 (例如, "红色", "蓝色")颜色编码 (例如, 使用编码的0, 1)分类型/数值型原始数据点转换为潜在机器学习特征的示例。特征工程的目标,也是我们将在本课程中会详细介绍的,是从可用数据中构建最有效的特征集。这包括选择相关信息、将其转换为合适的格式(如将分类数据转换为数字)、处理缺失值,有时还会创建全新的特征,以比单独使用原始数据更有效地捕捉潜在模式。这些特征的质量通常比模型算法本身的选择对模型性能更为重要。理解什么是好的特征,是此过程的第一步。