特征工程中派生特征

派生特征的生成

0.前言

在数据挖掘中最重要的步骤应是数据清洗,通过非结构化数据转化得到结构化数据,以便之后进行训练模型和模型预测。但是在很多时候不能直接将初级特征直接用到模型中,如果根据已知的初级特征生成派生特征,会更好的提高模型参考效果。
一个特征可能在一个场景效果很好,但是当场景变换效果就会不尽如人意。所以可以总结为一点局限: 场景的变换会影响特征的使用效果。(比如是否针对此特征值进行相关操作,例如网购软件一般会对新用户提供优惠活动,但是传统商场一般并不会,两者对于新用户转化率这一特征的重要性是不同的。)
在开始,点出两个生成派生特征的常用技巧:

  1. 用数值特征替换类别特征(category value)
  2. 用目标变量的历史值作为特征

1.原理

假设我们手中已经有n个数据维度,现在将数据维度扩大到m维(n<m),得到许多派生特征值。如果映射方式是线性相关,那么很难得到有用得新得特征值(因为线性相关,所以新特征值可以被旧特征值表示),但是如果映射方式是非线性相关,则很有可能获得新的可利用特征值。
那么应该如何判断哪些特征值是有用的,哪些是无用的呢?这也就引申出另一个难点:通过算法进行分析得到由帮助的派生特征值。

2.

(后续会进行详细说明)
Ⅰ**正则化**

  1. 中心化【每个特征值减去均值,代表原始值是否高(低)于均值】
  2. 缩放【将中心化的特征值映射到(-1,1)的区间】

Ⅱ**标准化**
即将数值转化成百分位,例如数值高于70%的同类值。
Ⅲ**比率化**
有时候单个绝对值是意义不大的,需要将特征值与其他值得到比率,更有利于进行建模。
Ⅳ**类别特征的数值化**
抓取类别特征应当抓取和我们目标关联性强的特征,例如一个国家类别特征可以派生出人口、面积、降雨量等等特征,我们需要选择适合自己模型的数据。
一般常用one hot representation进行处理,但是这样往往会引起“维度爆炸”,即增加许多的无关维度,使模型复杂性上升。为此也需要后续使用降维的方法。
Ⅵ**分箱**
分箱的具体介绍在这篇文章里(会后写):分箱
Ⅶ**组合特征**
由两个特征组合在一起,表达原有特征不能表达的新信息。

3.其他

很多类型特征例如地理信息、工业信息是可以导出许多可用特征的。例如GEO编码这样的信息,可以导出许多地理方面信息。这方面是需要注意的。

### Kaggle竞赛中的特征工程技术 在Kaggle竞赛中,特征工程是一项至关重要的技术,它能够显著提升模型性能。通过精心设计和处理输入到机器学习模型的数据特性,可以更好地捕捉数据内部结构,进而提高预测准确性。 #### 数据预处理的重要性 有效的特征工程始于良好的数据清洗与转换工作。这包括但不限于缺失值填补、异常点检测及去除重复记录等操作[^2]。这些初步步骤确保了后续分析建立在一个干净可靠的基础上。 #### 特征创建方法论 为了增强原始变量的表现力或者挖掘潜在模式,在实际应用过程中常常会引入新的派生属性。常见的做法有: - **组合现有字段**:比如将日期拆分为年份、月份等多个维度;计算两个数值型列之间的比率作为新指标。 - **编码类别信息**:对于非连续性的离散取值(如颜色名称),可以通过独热编码(one-hot encoding) 或者标签映射(label mapping) 的方式将其转化为计算机易于理解和使用的格式。 - **交互作用项**:考虑不同因素间的相互影响关系,构造交叉乘积形式的新特征向量。 ```python import pandas as pd from sklearn.preprocessing import OneHotEncoder, StandardScaler # 假设df是一个Pandas DataFrame对象 encoder = OneHotEncoder() encoded_features = encoder.fit_transform(df[['category_column']]) scaler = StandardScaler() scaled_numeric_features = scaler.fit_transform(df[['numeric_column']]) ``` #### 高级技巧探索 除了上述基础手段外,还有更多高级策略可用于进一步改进特征质量: - **降维算法的应用**:主成分分析(PCA) 和 t-SNE 是两种流行的选择,它们可以帮助减少冗余度高的多维空间至更低纬度表示,同时保留尽可能多的有效信息。 - **自动特征生成工具**:AutoML框架下的部分解决方案支持自动化地发现复杂模式并自动生成候选集供评估挑选。 综上所述,成功的特征工程项目往往依赖于领域专业知识积累加上不断尝试验证的过程。积极参与像Kaggle这样的平台所提供的资源分享社区活动,也是获取灵感的好途径之一[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值