sklearn.preprocessing.KBinsDiscretizer¶
- class sklearn.preprocessing.KBinsDiscretizer¶
Agrupa datos continuos en intervalos.
Leer más en el Manual de Usuario.
Nuevo en la versión 0.20.
- Parámetros
- n_binsint o array-like de forma (n_features,), default=5
El número de intervalos a producir. Genera un ValueError si
n_bins < 2.- encode{“onehot”, “onehot-dense”, “ordinal”}, default=”onehot”
Método utilizado para codificar el resultado transformado.
- onehot
Codifica el resultado transformado con una codificación one-hot y devuelve una matriz dispersa. Las características ignoradas se apilan siempre a la derecha.
- onehot-dense
Codifica el resultado transformado con una codificación one-hot y devuelve un arreglo denso. Las características ignoradas se apilan siempre a la derecha.
- ordinal
Devuelve el identificador de intervalo (bin) codificado como un valor entero.
- strategy{“uniform”, “quantile”, “kmeans”}, default=”quantile”
Estrategia utilizada para definir la anchura de los intervalos.
- uniforme
Todos los intervalos de cada característica tienen una anchura idéntica.
- cuantil
Todos los intervalos de cada característica tienen el mismo número de puntos.
- kmeans
Los valores de cada intervalo tienen el mismo centro más cercano de un conglomerado k-medias 1D.
- dtype{np.float32, np.float64}, default=None
El tipo de datos deseado para la salida. Si es None, el dtype de salida es consistente con el dtype de entrada. Sólo se admiten np.float32 y np.float64.
Nuevo en la versión 0.24.
- Atributos
- n_bins_ndarray de forma (n_features,), dtype=np.int_
Número de intervalos por característica. Los intervalos cuya anchura es demasiado pequeña (es decir, <= 1e-8) se eliminan con una advertencia.
- bin_edges_ndarray de ndarray de forma (n_features,)
Las aristas de cada intervalo. Contienen arreglos de formas variables
(n_bins_, )Las características ignoradas tendrán arreglos vacíos.
Ver también
BinarizerClase utilizada para categorizar valores como
0o1en función de un parámetrothreshold.
Notas
En las aristas del intervalo para la característica
i, el primer y el último valor son utilizados sólo parainverse_transform. Durante la transformación, las aristas del intervalo se extienden a:np.concatenate([-np.inf, bin_edges_[i][1:-1], np.inf])
Puedes combinar
KBinsDiscretizerconColumnTransformersi sólo quieres preprocesar parte de las características.KBinsDiscretizerpodría producir características constantes (por ejemplo, cuandoencode = 'onehot'y ciertos intervalos no contienen ningún dato). Estas características se pueden eliminar con algoritmos de selección de características (por ejemplo,VarianceThreshold).Ejemplos
>>> X = [[-2, 1, -4, -1], ... [-1, 2, -3, -0.5], ... [ 0, 3, -2, 0.5], ... [ 1, 4, -1, 2]] >>> est = KBinsDiscretizer(n_bins=3, encode='ordinal', strategy='uniform') >>> est.fit(X) KBinsDiscretizer(...) >>> Xt = est.transform(X) >>> Xt array([[ 0., 0., 0., 0.], [ 1., 1., 1., 0.], [ 2., 2., 2., 1.], [ 2., 2., 2., 2.]])
A veces puede ser útil convertir los datos de nuevo en el espacio de características original. La función
inverse_transformconvierte los datos categorizados (binned) en el espacio de características original. Cada valor será igual a la media de las dos aristas de los intervalos.>>> est.bin_edges_[0] array([-2., -1., 0., 1.]) >>> est.inverse_transform(Xt) array([[-1.5, 1.5, -3.5, -0.5], [-0.5, 2.5, -2.5, -0.5], [ 0.5, 3.5, -1.5, 0.5], [ 0.5, 3.5, -1.5, 1.5]])
Métodos
Ajusta el estimador.
Ajusta a los datos y luego los transforma.
Obtiene los parámetros para este estimador.
Transforma los datos discretizados de vuelta al espacio de características original.
Establece los parámetros de este estimador.
Discretiza los datos.
- fit()¶
Ajusta el estimador.
- Parámetros
- Xarray-like de forma (n_samples, n_features)
Datos a discretizar.
- yNone
Ignorado. Este parámetro existe sólo para compatibilidad con
Pipeline.
- Devuelve
- self
- fit_transform()¶
Ajusta a los datos y luego los transforma.
Ajusta el transformador a
Xyycon parámetros opcionalesfit_paramsy 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_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
Nombres de parámetros mapeados a sus valores.
- inverse_transform()¶
Transforma los datos discretizados de vuelta al espacio de características original.
Ten en cuenta que esta función no regenera los datos originales debido al redondeo de la discretización.
- Parámetros
- Xtarray-like de forma (n_samples, n_features)
Datos transformados en el espacio categorizado (binned).
- Devuelve
- Xinvndarray, dtype={np.float32, np.float64}
Datos en el espacio de características original.
- 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()¶
Discretiza los datos.
- Parámetros
- Xarray-like de forma (n_samples, n_features)
Datos a discretizar.
- Devuelve
- Xt{ndarray, sparse matrix}, dtype={np.float32, np.float64}
Datos en el espacio categorizado (binned). Será una matriz dispersa si
self.encode='onehot'y ndarray en caso contrario.