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
Binarizer
Clase utilizada para categorizar valores como
0
o1
en 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
KBinsDiscretizer
conColumnTransformer
si sólo quieres preprocesar parte de las características.KBinsDiscretizer
podrí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_transform
convierte 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
X
yy
con 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_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.