6.1特征工程
- 特征工程的目的:目的是最大限度的从原始数据中提取特征以供算法和模型使用。
-
引用工业界的一句话:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。
特征工程.png
6.2数据预处理
6.2.1数据清洗
1.根据理论经验或者实际情况是设定一个预定的阈值,再阈值之外的即视为脏数据
2.根据均值方差,利用统计学中的3sigma原则等确定阈值。
3.根据数据的变化情况而定。
6.2.2特征处理
-
特征的类型:
1.数值型:连续型,离散型
2.类别类型
3.时间类型
4.文本类型
5.图形类型 -
标准化:scale(x)
-
归一化:MinMaxScaler()
-
零中心化
-
最大值标准化:MaxAbsScaler() 把值缩放到[-1,1]之间
-
规范化:normalize(X,norm='l2')
-
二值化:特征二值化是将数值类型特征变成布尔型特征。
-
连续特征离散化: pd.cut()
-
分类特征编码:
1.有序特征映射:为了保证学习算法能够正确解释有序特征,我们需要将分类型字符串转为整型数值。
有序特征映射.png
2.独立热编码
["yes","no","unknown"]可以先用LableEncoder(),编码为数字,再用OneHotEncoder表示成"[001,010,100]"
![](https://img.haomeiwen.com/i13876065/e76fa6e7b81b33f9.png)
3.哑变量
["yes","no","unknown"]可以表示成二进制“[01,10,00]”
4.时间特征处理
时间特征是一个重要的特征,可视为连续型也可视为离散型。1.持续时间,2.时间间隔
![](https://img.haomeiwen.com/i13876065/d37644c098f71e13.png)
5.缺失值处理
![](https://img.haomeiwen.com/i13876065/50898ee1db9079c3.png)
![](https://img.haomeiwen.com/i13876065/0484cf3fdc209fd0.png)
-
多项式特征生成:很多情况下考虑输入数据中的非线性特征来增加模型的复杂度是非常有效的。一个简单常用的方法就是使用多项式特征,它能捕捉到特征中高阶和相互作用的项。
-
转换器定制
转换器定制.png
-
数据降维:PCA/LDA/LLE等
网友评论