sklearn.impute
.IterativeImputer¶
- class sklearn.impute.IterativeImputer¶
Imputador multivariante que estima cada característica a partir de todas las restantes.
Una estrategia para la imputación de valores faltantes mediante la modelización de cada característica con valores perdidos en función de otras características de forma rotatoria.
Más información en el Manual de usuario.
Nuevo en la versión 0.21.
Nota
Este estimador es todavía experimental por ahora: las predicciones y la API podrían cambiar sin ningún ciclo de obsolescencia. Para utilizarlo, es necesario importar explícitamente
enable_iterative_imputer
:>>> # explicitly require this experimental feature >>> from sklearn.experimental import enable_iterative_imputer # noqa >>> # now you can import normally from sklearn.impute >>> from sklearn.impute import IterativeImputer
- Parámetros
- estimatorestimador objeto, default=BayesianRidge()
El estimador que se va a utilizar en cada paso de la imputación round-robin. Si
sample_posterior
es True, el estimador debe soportarreturn_std
en su métodopredict
.- missing_valuesint, np.nan, default=np.nan
El marcador de posición para los valores faltantes. Todas las ocurrencias de
missing_values
serán imputadas. Para los dataframes de pandas con dtypes enteros anulables con valores faltantes,missing_values
debe establecerse ennp.nan
, ya quepd.NA
se convertirá ennp.nan
.- sample_posteriorboolean, default=False
Si se muestrea de la posterior predictiva (gaussiana) del estimador ajustado para cada imputación. El estimador debe soportar
return_std
en su métodopredict
si se establece comoTrue
. Establezca el valorTrue
si utilizaIterativeImputer
para múltiples imputaciones.- max_iterint, default=10
Número máximo de rondas de imputación a realizar antes de devolver las imputaciones calculadas durante la ronda final. Una ronda es una única imputación de cada característica con valores faltantes. El criterio de parada se cumple cuando
max(abs(X_t - X_{t-1}))/max(abs(X[known_vals]))
< tol, dondeX_t
esX
en la iteraciónt. Nota que la parada temprana sólo se aplica si ``sample_posterior=False`
.- tolfloat, default=1e-3
Tolerancia de la condición de parada.
- n_nearest_featuresint, default=None
Número de otras características que se utilizarán para estimar los valores faltantes de cada columna de características. La proximidad entre características se mide utilizando el coeficiente de correlación absoluta entre cada par de características (tras la imputación inicial). Para garantizar la cobertura de las características a lo largo del proceso de imputación, las características vecinas no son necesariamente las más cercanas, sino que se extraen con una probabilidad proporcional a la correlación para cada característica objetivo imputada. Puede proporcionar una velocidad significativa cuando el número de características es enorme. Si
None
, se utilizarán todas las características.- initial_strategystr, default=”mean”
Qué estrategia utilizar para inicializar los valores faltantes. Igual que el parámetro
strategy
enSimpleImputer
Valores válidos: {«mean», «median», «most_frequent», o «constant»}.- imputation_orderstr, default=”ascending”
El orden en que se imputarán las características. Valores posibles:
- «ascending»
Desde características con menos valores faltantes hasta la mayoría.
- «descending»
De las características con más valores faltantes a las menos.
- «roman»
Izquierda a derecha.
- «arabic»
De derecha a izquierda.
- «random»
Un orden aleatorio para cada ronda.
- skip_completeboolean, default=False
Si es
True
entonces las características con valores faltantes durantetransform
que no tenían ningún valor faltante durantefit
serán imputadas con el método de imputación inicial solamente. Establece enTrue
si tienes muchas características sin valores faltantes en el tiempofit
ytransform
para guardar el cálculo.- min_valuefloat o array-like de forma (n_features,), default=-np.inf
Mínimo valor imputado posible. Transmitido a forma ( n_features,) si es escalar. Si es array-like, espera forma (n_features,), un valor mínimo para cada característica. El valor predeterminado es
-np.inf
.Distinto en la versión 0.23: Soporte agregado para array-like.
- max_valuefloat o array-like de forma (n_features,), default=np.inf
Máximo valor imputado posible. Transmitido a forma ( n_features,) si es escalar. Si es array-like, espera forma (n_features,), un valor máximo para cada característica. El valor predeterminado es
np.inf
.Distinto en la versión 0.23: Soporte agregado para array-like.
- verboseint, default=0
Indicador de verbosidad, controla los mensajes de depuración que se emiten a medida que se evalúan las funciones. Cuanto más alto, más verboso. Puede ser 0, 1 o 2.
- random_stateentero, instancia de RandomState o None, default=None
La semilla del generador de números pseudoaleatorios a utilizar. Aleatoriza la selección de las características del estimador si n_nearest_features no es None, el
imputation_order
sirandom
, y el muestreo de la posterior sisample_posterior
es True. Utiliza un número entero para el determinismo. Ver Glosario.- add_indicatorboolean, default=False
Si es True, una transformación
MissingIndicator
se apilará en la salida de la transformación del imputador. Esto permite que un estimador predictivo tenga en cuenta los valores faltantes a pesar de la imputación. Si una característica no tiene valores faltantes en el tiempo de ajuste/entrenamiento, la característica no aparecerá en el indicador de falta aunque haya valores faltantes en el tiempo de transformación/prueba.
- Atributos
- initial_imputer_objeto de tipo
Imputación utilizada para inicializar los valores faltantes.
- imputation_sequence_lista de tuplas
Cada tupla tiene
(feat_idx, neighbor_feat_idx, estimator)
, dondefeat_idx
es la característica actual a imputar,neighbor_feat_idx
es el arreglo de otras características utilizadas para imputar la característica actual, yestimator
es el estimador entrenado utilizado para la imputación. La longitud esself.n_features_with_missing_ * self.n_iter_
.- n_iter_int
Número de rondas de iteración que se produjeron. Será menor que
self.max_iter
si se alcanzó el criterio de parada anticipada.- n_features_with_missing_int
Número de características con valores faltantes.
- indicator_
MissingIndicator
Indicador utilizado para añadir indicadores binarios para los valores faltantes.
None
si add_indicator es False.- random_state_RandomState instance
Instancia de RandomState que se genera a partir de una semilla, el generador de números aleatorios o por
np.random
.
Ver también
SimpleImputer
Imputación univariante de valores faltantes.
Notas
Para apoyar la imputación en modo inductivo, almacenamos el estimador de cada característica durante la fase de
fit
, y predecimos sin reajustar (en orden) durante la fase detransform
.Las características que contienen todos los valores faltantes en
fit
se descartan altransform
.Referencias
- 1
- 2
Ejemplos
>>> import numpy as np >>> from sklearn.experimental import enable_iterative_imputer >>> from sklearn.impute import IterativeImputer >>> imp_mean = IterativeImputer(random_state=0) >>> imp_mean.fit([[7, 2, 3], [4, np.nan, 6], [10, 5, 9]]) IterativeImputer(random_state=0) >>> X = [[np.nan, 2, 3], [4, np.nan, 6], [10, np.nan, 9]] >>> imp_mean.transform(X) array([[ 6.9584..., 2. , 3. ], [ 4. , 2.6000..., 6. ], [10. , 4.9999..., 9. ]])
Métodos
Ajusta la imputación en X y se devuelve a sí misma.
Ajusta la imputación en X y devuelve el X transformado.
Obtiene los parámetros para este estimador.
Establece los parámetros de este estimador.
Imputa todos los valores faltantes en X.
- fit()¶
Ajusta la imputación en X y se devuelve a sí misma.
- Parámetros
- Xarray-like, forma (n_samples, n_features)
Datos de entrada, donde » n_samples » es el número de muestras y » n_features » es el número de características.
- yignorado
- Devuelve
- selfobject
Devuelve a sí mismo.
- fit_transform()¶
Ajusta la imputación en X y devuelve el X transformado.
- Parámetros
- Xarray-like, forma (n_samples, n_features)
Datos de entrada, donde » n_samples » es el número de muestras y » n_features » es el número de características.
- yignorado.
- Devuelve
- Xtarray-like, forma (n_samples, n_features)
Los datos de entrada imputados.
- get_params()¶
Obtiene los parámetros para este estimador.
- Parámetros
- deepbool, default=False
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.
- 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()¶
Imputa todos los valores faltantes en X.
Nota que esto es estocástico, y que si random_state no es fijo, las llamadas repetidas, o la entrada permutada, darán resultados diferentes.
- Parámetros
- Xarray-like de forma (n_samples, n_features)
Los datos de entrada a completar.
- Devuelve
- Xtarray-like, forma (n_samples, n_features)
Los datos de entrada imputados.