[机器学习与scikit-learn-11]:数据预处理-4-创建新特征-多项式升维

作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

本文网址:


目录

第1章 创建新特征概述

1.1 概述

1.2 常见算法

第2章 生成多项式生成新特征

2.1 功能概述

2.2 代码案例


第1章 创建新特征概述

1.1 概述

有时候,我们会根据已有的特征,按照某种数学算法,生成新的特征,这些新特征用于模型训练。

由于新特征与已有特征有关联性,已有特征与新特征共同叠加,会强化特征之间的差易。

1.2 常见算法

(1)生成多项式特征算法

第2章 生成多项式生成新特征

2.1 功能概述

在机器学习中,在现有的数据的基础之上,通过增加一些现有输入数据对应的非线性特征数据来增加模型的复杂度通常是有效的。

一个简单通用的办法是使用多项式特征,这可以获得现有特征的更高次数和互相间关系的项。

2.2 代码案例

直接使用特征和无法找到分割决策边界,线性不可分 。

使用多项式特征后,可以找到分割决策边界:

[机器学习与scikit-learn-11]:数据预处理-4-创建新特征-多项式升维_第1张图片

把每一列特征数据看成一个向量,生成的数据为X^0 = 1;   X^1 = > X1, X2;  X^2 => X1^2, X12; X^2。

import numpy as np
from sklearn.preprocessing import PolynomialFeatures

X = np.arange(6).reshape(3, 2)

poly = PolynomialFeatures(2)
print(X)
print(poly.fit_transform(X))
[[0 1]
 [2 3]
 [4 5]]

[[ 1.  0.  1.  0.  0.  1.]
 [ 1.  2.  3.  4.  6.  9.]
 [ 1.  4.  5. 16. 20. 25.]

    X^0,     X^1,        X^2

你可能感兴趣的:(机器学习,深度学习,人工智能,特征工程,scikit-learn)