上一篇我们讲解了特征工程中一些数据预处理的内容,现在我们继续了解还有哪些常用的特征工程。
特征构造
特征构造是机器学习中提升效果的关键环节之一,特征构造是指利用原始特征,通过一些数学计算变换、统计聚合等方式,创建出更利于模型结果的新特征。常用的特征构造方法有以下几种:
数值特征变换
根据一些数学计算、统计将旧特征转变为新特征。
| 方法 |
适用场景 |
函数 |
| 对数转换 |
处理右偏数据、稳定方差、压缩范围 |
np.log(x) |
| 分箱 |
连续数值转为离散值,比如成绩分为优中差 |
pd.cut(x, bins=5) |
| 标准化 |
模型对尺度敏感 |
StandardScaler() |
| 归一化 |
MinMaxScaler() |
代码如下
import numpy as np
import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.preprocessing import MinMaxScaler
df['log_feature'] = np.log(df['feature']) # 对数变换
df['score_category'] = pd.qcut(df['scores'], q=3, labels=False) # 分箱
# 标准化
scaler = StandardScaler()
df['scaled_feature'] = scaler.fit_transform(df[['feature']])
# 归一化
scaler = MinMaxScaler(feature_range=(0, 1))
df['scaled_feature'] = scaler.fit_transform(df[['feature']])
类别特征构造
类别特征构造是指通过逻辑组合、聚合或者一些高级的映射关系,将原始离散特征组合成可以表达出特征之间的相互关系、业务规则的新特征。从而提升模型的泛化能力和可解释性。
| 方法 |
说明 |
| 交叉特征 |
将两个或多个特征拼接形成新特征。比如 地区+商品 |

613

被折叠的 条评论
为什么被折叠?



