Ordenamiento por cantidad de variables faltantes
Ordenar los datos por la cantidad de valiables faltantes nos da cierto rigor al momento de la imputacion. Esto se logra comenzando con definir las distancias entre valores existentes para luego predecir o imputar valores que no existen repitiendo el proceso paso a paso hasta lograr la imputacion completa de los datos. Algunos algoritmos implementan esta tecnica por defecto.
- Imputacion por KNN al ordenas las variables segun su cantidad de valores faltantes de forma ascendente
# imputador con knn
knn_imputer = sklearn.impute.KNNImputer()
# copia del df ordenamos las variables por la cantidad de missing de forma ascendente
nhanes_df_knn = nhanes_transformed_df.missing.sort_variables_by_missingness(ascending=True).copy(deep=True)
# agregamos los valores imputados al nuevo df ajustamos los datos ordenados por la cantidad de variables faltantes redondeamos valores
nhanes_df_knn.iloc[:, :] = knn_imputer.fit_transform(nhanes_transformed_df.missing.sort_variables_by_missingness(ascending=True).copy(deep=True)).round()
nhanes_df_knn
- Visualizacion mediante un scatterplot
( # matriz de sombra
pd.concat(
[
nhanes_df_knn,
nhanes_df.missing.create_shadow_matrix2(True, False, suffix='_imp', only_missing=True)
],
axis=1
) # visualizacion mediantes un scatterplot de dos variables numericas
.missing.scatter_imputation_plot(
x = 'height',
y = 'weight'
)
)
Aunque ambas imputaciones son similares, puede darse el caso dependiendo del software que aplicando este truco te ayude a conseguir mejores rendimientos en el conjunto de datos
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?