sklearn.preprocessing.PolynomialFeatures

class sklearn.preprocessing.PolynomialFeatures

Genera características polinómicas y de interacción.

Genera una nueva matriz de características que consiste en todas las combinaciones polinómicas de las características con grado menor o igual al grado especificado. Por ejemplo, si una muestra de entrada es bidimensional y de la forma [a, b], las características polinómicas de grado 2 son [1, a, b, a^2, ab, b^2].

Parámetros
degreeint, default=2

El grado de las características polinómicas.

interaction_onlybool, default=False

Si es True, sólo se producen características de interacción: características que son productos de como máximo degree de características de entrada distintas (así que no x[1] ** 2, x[0] * x[2] ** 3, etc.).

include_biasbool, default=True

Si es True (predeterminado), entonces incluye una columna de sesgo, la característica en la que todas las potencias del polinomio son cero (es decir, una columna de unos - actúa como un término intercepto en un modelo lineal).

order{“C”, “F”}, default=”C”

Orden del arreglo de salida en el caso denso. El orden “F” es más rápido de calcular, pero puede ralentizar los estimadores posteriores.

Nuevo en la versión 0.21.

Atributos
powers_ndarray de forma (n_output_features, n_input_features)

powers_[i, j] es el exponente de la j-ésima entrada en la i-ésima salida.

n_input_features_int

El número total de características de entrada.

n_output_features_int

El número total de características polinómicas de salida. El número de características de salida se calcula iterando sobre todas las combinaciones de características de entrada de tamaño adecuado.

Notas

Ten en cuenta que el número de características en el arreglo de salida se escala polinomialmente en el número de características del arreglo de entrada y exponencialmente en el grado. Los grados altos pueden causar un sobreajuste (overfitting).

Ver examples/linear_model/plot_polynomial_interpolation.py

Ejemplos

>>> import numpy as np
>>> from sklearn.preprocessing import PolynomialFeatures
>>> X = np.arange(6).reshape(3, 2)
>>> X
array([[0, 1],
       [2, 3],
       [4, 5]])
>>> poly = PolynomialFeatures(2)
>>> poly.fit_transform(X)
array([[ 1.,  0.,  1.,  0.,  0.,  1.],
       [ 1.,  2.,  3.,  4.,  6.,  9.],
       [ 1.,  4.,  5., 16., 20., 25.]])
>>> poly = PolynomialFeatures(interaction_only=True)
>>> poly.fit_transform(X)
array([[ 1.,  0.,  1.,  0.],
       [ 1.,  2.,  3.,  6.],
       [ 1.,  4.,  5., 20.]])

Métodos

fit

Calcula el número de características de salida.

fit_transform

Ajusta a los datos y luego los transforma.

get_feature_names

Devuelve los nombres de las características para las características de salida

get_params

Obtiene los parámetros para este estimador.

set_params

Establece los parámetros de este estimador.

transform

Transforma los datos en características polinómicas

fit()

Calcula el número de características de salida.

Parámetros
X{array-like, sparse matrix} de forma (n_samples, n_features)

Los datos.

yNone

Ignorado.

Devuelve
selfobject

Transformador ajustado.

fit_transform()

Ajusta a los datos y luego los transforma.

Ajusta el transformador a X e y con los parámetros opcionales fit_params y devuelve una versión transformada de X.

Parámetros
Xarray-like de forma (n_samples, n_features)

Muestras de entrada.

yarray-like de forma (n_samples,) o (n_samples, n_outputs), default=None

Valores objetivo (None para transformaciones no supervisadas).

**fit_paramsdict

Parámetros de ajuste adicionales.

Devuelve
X_newarreglo ndarray de forma (n_samples, n_features_new)

Arreglo transformado.

get_feature_names()

Devuelve los nombres de las características para las características de salida

Parámetros
input_featureslist de str de forma (n_features,), default=None

Cadena de nombres para las características de entrada, si están disponibles. Por defecto, se utiliza «x0», «x1», … «xn_features».

Devuelve
output_feature_nameslist de str de forma (n_output_features,)
get_params()

Obtiene los parámetros para este estimador.

Parámetros
deepbool, default=True

Si es True, devolverá los parámetros para este estimador y los subobjetos contenidos que son estimadores.

Devuelve
paramsdict

Los nombres de los parámetros mapeados a sus valores.

set_params()

Establece los parámetros de este estimador.

El método funciona tanto en estimadores simples como en objetos anidados (como Pipeline). Estos últimos tienen parámetros de la forma <component>__<parameter> para que sea posible actualizar cada componente de un objeto anidado.

Parámetros
**paramsdict

Parámetros del estimador.

Devuelve
selfinstancia del estimador

Instancia del estimador.

transform()

Transforma los datos en características polinómicas

Parámetros
X{array-like, sparse matrix} de forma (n_samples, n_features)

Los datos a transformar, fila por fila.

Preferir CSR sobre CSC para entradas dispersas (por velocidad), pero se requiere CSC si el grado es 4 o superior. Si el grado es menor que 4 y el formato de entrada es CSC, se convertirá a CSR, se generarán sus características polinómicas y se volverá a convertir a CSC.

Si el grado es 2 o 3, se utiliza el método descrito en «Leveraging Sparsity to Speed Up Polynomial Feature Expansions of CSR Matrices Using K-Simplex Numbers» por Andrew Nystrom y John Hughes, que es mucho más rápido que el método utilizado en la entrada CSC. Por esta razón, una entrada CSC se convertirá en CSR, y la salida se convertirá de nuevo en CSC antes de ser devuelta, de ahí la preferencia de CSR.

Devuelve
XP{ndarray, sparse matrix} de forma (n_samples, NP)

La matriz de características, donde NP es el número de características polinómicas generadas a partir de la combinación de entradas. Si se proporciona una matriz dispersa, se convertirá en una matriz dispersa csr_matrix.

Ejemplos utilizando sklearn.preprocessing.PolynomialFeatures