快速入门特征工程

Posted SecondMind

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了快速入门特征工程相关的知识,希望对你有一定的参考价值。

有一句话在业界广为流传:特征工程决定了模型的上界,调参决定模型能够有多逼近这个上界。
这里以sklearn为例讲讲特征工程。

一图概览特征工程


虽然说分了这么多部分,但特征工程最重要的部分还是特征处理,特征处理主要包含三个方面,特征预处理,特征选择和降维度。

数据预处理

数据预处理一方面把特征转为合适的编码喂给我们学习算法,另一方面就是把数据都转化到一个同一个规格。我们平时会用公制单位,那么对于特征也要转化到这样的公制单位。都是身高体重的数据,转化到公制下比较方便。

无量纲化

即把特征转化到“公制”。
标准化,使得特征均值为0。
from sklearn.preprocessing import StandardScaler

\\[x = \\frac { x - \\overline { X } } { s } \\]

归一化,使得特征为一个单位向量。
from sklearn.preprocessing import Normalizer

\\[x ^ { \\prime } = \\frac { x } { \\sqrt { \\sum _ { j } ^ { m } x [ j ] ^ { 2} } } \\]

特征编码

特征编码即将男女这样的特征进行编码,转化为01值。

二值化,设定一个阈值,大于等于阈值为一类,小于阈值为一类。
from sklearn.preprocessing import Binarizer

one-hot编码,将多分类的特征变成一个特征向量。
from sklearn.preprocessing import OneHotEncoder

特征选择

Filter

filter方法就是对特征进行评分,然后选择评分高的特征。那么既然是评分就要涉及到评分方法了。一般有四个评分方法。

  1. 方差
  • from sklearn.feature_selection import VarianceThreshold
  1. 相关系数
  • from sklearn.feature_selection import SelectKBest
  1. 卡方检验
  • from sklearn.feature_selection import SelectKBest
  1. 互信息
  • from sklearn.feature_selection import SelectKBest

详细翻阅参考。

降维

降维两种方法其实之前已经讲过了即PAC和LDA。

from sklearn.decomposition import PCA

#主成分分析法,返回降维后的数据
#参数n_components为主成分数目
PCA(n_components=2).fit_transform(iris.data)
from sklearn.lda import LDA

#线性判别分析法,返回降维后的数据
#参数n_components为降维后的维数
LDA(n_components=2).fit_transform(iris.data, iris.target)

参考

使用sklearn做单机特征工程
机器学习特征工程实用技巧大全

以上是关于快速入门特征工程的主要内容,如果未能解决你的问题,请参考以下文章

Pandas高级数据分析快速入门之五——机器学习特征工程篇

特征工程:利用卡尔曼滤波器处理时间序列(快速入门+python实现)

Pandas高级数据分析快速入门之六——机器学习预测分析篇

简单易懂 | 机器学习如何快速入门?

简单易懂 | 机器学习如何快速入门?

三天爆肝快速入门机器学习:KNN算法朴素贝叶斯算法决策树第二天