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 nox[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
Calcula el número de características de salida.
Ajusta a los datos y luego los transforma.
Devuelve los nombres de las características para las características de salida
Obtiene los parámetros para este estimador.
Establece los parámetros de este estimador.
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
ey
con los parámetros opcionalesfit_params
y devuelve una versión transformada deX
.- 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
.