以下内容转自 数析学院,只节选了部分,有需要的同学可以直接查看原文
在数据分析中,特征选择往往是我们面临的首要难题,本节将向大家介绍 Scikit-Learn 提供的特征工程相关工具,以便我们在 Python 中更好地对模型的特征进行处理。
1、分类变量特征预处理
首先我们构造如下示例数据:
在作为示例的租房数据中,分类变量 neighborhood 可以对应以下三个值:
运用 Scikit-Learn 中的 DictVectorizer 函数,我们将以上租房数据的分类变量转换为 one-hot 形式:
array([[ 0, 1, 0, 850000, 4], [ 1, 0, 0, 700000, 3], [ 0, 0, 1, 650000, 3], [ 1, 0, 0, 600000, 2]])
可以通过调用 get_feature_names 函数,来查看转换后的数组中对应的列名:
['neighborhood=Fremont', 'neighborhood=Queen Anne', 'neighborhood=Wallingford', 'price', 'rooms']
要注意的是,当我们将 DictVectorizer 函数参数 sparse 的值设置为 True 时,转换后的对象将不再是一个数组,而是一个 sparse matrix 对象:
<4x5 sparse matrix of type '<class 'numpy.int64'>' with 12 stored elements in Compressed Sparse Row format>
后文还有介绍 文本特征提取、特征项扩充、特征缺失值处理、pipeline 模型等,内容较多,先搬运到这,有需要的同学可以先直接到 数析学院 查看原文