四、Sklearn特征工程

参考url:

https://jakevdp.github.io/PythonDataScienceHandbook/05.04-feature-engineering.html

特征工程(feature engineering)———找到与问题有关的任何信息,把它们转换成特征矩阵的数值

1、分类特征

    一种常见的非数值类型是分类数据。

    

     在Scikit-Learn程序包中所有模块都有一个基本假设,即数值特征可以反应代数量(algebraic quantities)。

    独热编码,可以有效增加额外的列,让0和1出现在对应的列分别表示每个分类值有或无。

    

2、文本特征

    另一种常见的特征工程需求是将文本转换成一组数组。

    例如,绝大多数社交媒体数据的自动化采集,都是依靠将文本编码成数字的技术手段。

    

3、图像特征

    机器学习还有一种常见需求,那就是对图像进行编码。

    手写数字图像时使用的方法,是最简单的图像编码方法:用像素表示图像。

    可以在Scikit-Image项目中找到许多标准方法的高品质实现。

4、衍生特征

    还有一种有用的特征是输入特征经过数学变换衍生出来的新特征。

    从输入数据中构造多项式特征时,就是这类特征。

    将一个线性回归转换成多项式回归时,并不是通过改变模型来实现,而是通过改变输入数据,这种处理方式有时被称为基函数回归(bsis function regression)。

    

     

    

     这种不通过改变模型,而是通过变换输入来改善模型效果的理念,正是许多更强大的机器学习方法的基础。

5、缺失值填充

    特征工程中还有一种常见需求是处理缺失值。

    

    当将一个普通的机器学习模型应用到这份数据时,首先需要用适当的值替换这些确实数据,这个操作被称为缺失值填充,相应的策略很多,有的简单(例如用列均值替换缺失值),有的复杂(例如用矩阵填充或其他模型来处理缺失值)

    

6、特征管道

    特征管道将所有对象操作串联起来,避免重复输入。

    比如将(1)用均值填充缺失值(2)将衍生特征转换为二次方(3)拟合线性回归模型,这三个步骤实现管道处理过程。

    

原文地址:https://www.cnblogs.com/nuochengze/p/12524310.html