使用PolynomialFeatures来构建特征

使用sklearn.preprocessing.PolynomialFeatures来进行特征的构造。

它是使用多项式的方法来进行的,如果有a,b两个特征,
那么它的2次多项式为(\(1,a,b,a^2,ab, b^2\))。
那么它的3次多项式为(\(1,a,b,a^2,ab, b^2, a^3, a^2*b, b^2*a, b^3\))。
PolynomialFeatures有三个参数
degree:控制多项式的度
interaction_only: 默认为False,如果指定为True,那么就不会有特征自己和自己结合的项,上面的二次项中没有\(a^2\)\(b^2\)
include_bias:默认为True。如果为True的话,那么就会有上面的1那一项。
\(X=\begin{bmatrix}1\\2\\3\\4\end{bmatrix}\)

poly = PolynomialFeatures(degree=2)
Y = ploy.fit_transform(X)

\(Y=\begin{bmatrix}1&1&1\\1&2&4\\1&3&9\\1&4&16\end{bmatrix}\)

当有两个特征时
\(X=\begin{bmatrix}1&5\\2&4\\3&3\\4&2\end{bmatrix}\)
\(Y=\begin{bmatrix}1&1&5&1&5&25\\1&2&4&4&8&16\\1&3&3&9&9&9\\1&4&2&16&8&4\end{bmatrix}\)

posted @ 2022-10-16 22:52  华小电  阅读(56)  评论(0编辑  收藏  举报