特征工程(Feature Engineering)
一、特征工程的相关知识点
特征工程的定义
将数据转换为能更好地表示潜在问题的特征,从而提高机器学习性能。
特征工程包含以下几个部分
数据理解;
目的:探索数据,了解数据,主要在EDA阶段完成。定性数据:描述性质
a) 定类: 按名称分类 —— 血型、城市
b) 定序: 有序分类 —— 成绩定量数据:描述数量
a) 定距: 可以加减 —— 温度、日期
b) 定比: 可以乘除 —— 价格、重要
数据清洗;(最重要的)
目的: 提高数据质量,降低算法用错误数据建模的风险。特征变换: 模型无法处理或不合适处理
a) 定性变量编码: Label Encoder; Onehot Encoder; Destribution coding;
b) 标准化和归一化: z分数标准化(标准正态分布)、min-max归一化;缺失值处理: 增加不确定性,可能会导致不可靠输出
a) 不处理: 少量样本缺失;
b) 删除: 大量样本缺失;
c) 补全: (同类)均值/中位数/众数补全; 高维映射(One-hot); 模型预测; 最邻近补全; 矩阵补全(R-SVD);(最常用的)异常值处理: 减少脏数据
a) 简单统计: 如describe()的统计描述; 散点图等;
b) 3∂法则(正态分布)/ 箱形图截断;
c) 利用模型进行离群点检测:聚类、K近邻、One Class SVM、isolation Forest;其他: 删除无效列 / 更改dtypes / 删除列中的字符串 / 将时间戳从字符串转换为日期时间等 特征构造;
目的: 增强数据表达,添加先验知识。统计量特征:(用的最多的)
a) 计数、求和、比例、标准差;时间特征;
a) 绝对时间、相对时间、节假日、双休日;地理信息;
a) 分桶;非线性变换;
a) 取 log / 平方 / 根号;数据分桶;
a) 等频 / 等距分桶、 Best-KS 分桶、 卡方分桶;特征组合
(典型:FM模型)
FM模型的相关学习 特征选择;
目的: 降低噪声,平滑预测能力和计算复杂度,增强模型预测性能。过滤式(Filter): 先用特征选择方法对初识特征进行过滤然后再训练学习器,特征选择过程与后续学习器无关。
a) Relief / 方差选择 / 相关系数 / 卡方检验 / 互信息法包裹式(Wrapper): 直接把最终将要使用的学习器的性能作为衡量特征子集的评价准则,其目的在于为给定学习器选择最有利于其性能的特征子集。
a) Las Vegas Wrapper(LVM)嵌入式(Embedding): 结合过滤式和包裹式方法,将特征选择与学习器训练过程融为一体,两者在同一优化过程中完成,即学习器训练过程中自动进行了特征选择。
a) LR+L1或决策树 类别不平衡。
缺点: 少类别提供信息太少,没有学会如何判别少数类。扩充数据集尝试其他评价指标:AUC等;调整θ值;重采样:过采样 / 欠采样;合成样本; SMOTE;选择其他模型:决策树(对类别不平衡的兼容性较好)等;加权少类别的样本错分代价;创新:
a) 将大类分解成多个类;(将问题转变为多分类问题)
b) 将小类视为异常点,并用异常检测建模。
二、代码实战
之后再做添补