在处理数据中,我们经常需要对离散数据来做特征工程处理,
一.什么是特征工程
1.定义
- 本质上来说,呈现给算法的数据应该能拥有基本数据的相关结构或属性。在做特征工程时,其实是将数据属性转换为数据特征的过程,属性代表了数据的所有维度,在数据建模时,如果对原始数据的所有属性进行学习,并不能很好的找到数据的潜在趋势,而通过特征工程对你的数据进行预处理的话,这时算法模型能够减少受到噪声的干扰,这样能够更好的找出趋势。事实上,好的特征甚至能够帮你实现使用简单的模型达到很好的效果。
- 但是对于特征工程中引用的新特征,需要验证它确实提高的预测的准确度,而不是加入了一个无用的特征,不然只会增加算法运算的复杂度。
2.目的
- 通过一系列的工程活动,将这些信息使用更高效的编码方式(特征)表示。使用特征表示的信息,信息损失较少,原始数据中包含的规律依然保留。此外,新的编码方式还需要尽量减少原始数据中的不确定因素(白噪声、异常数据、数据缺失…等等)的影响。
二.常用方法
1. 时间戳处理
- 时间戳属性通常需要分离成多个维度比如年、月、日、小时、分钟、秒钟。但是在很多的应用中,大量的信息是不需要的。
- 举例:
在一个监督系统中,尝试利用一个’位置+时间‘的函数预测一个城市的交通故障程度,这个实例中,大部分会受到误导只通过不同的秒数去学习趋势,其实是不合理的。并且维度’年’也不能很好的给模型增加值的变化,我们可能仅仅需要小时、日、月等维度。因此当我们在呈现时间的时候,试着保证你所提供的所有数据是你的模型所需要的。
注意: 时区,假如你的数据源来自不同的地理数据源,别忘了利用时区将数据标准化。
2. 分解类别属性
-
一些属性是类别型而不是数值型,举一个简单的例子,由{红,绿、蓝}组成的颜色属性,最常用的方式是把每个类别属

特征工程是数据预处理的关键步骤,包括时间戳处理、类别属性分解、分箱/分区、交叉特征、特征选择、特征缩放和特征提取。通过这些方法,可以提升模型的预测精度,减少噪声干扰,确保数据的潜在趋势得以揭示。例如,时间戳可以按需分解为年、月、日等维度,类别属性可以进行独热编码,数值型属性可通过分箱减少噪声,而交叉特征能组合成更有意义的信息。

911

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



