KNNimputer es una clase de scikit-learn que se usa para completar o predecir los valores que faltan en un conjunto de datos. Es un método más útil que funciona con el enfoque básico del algoritmo KNN en lugar del enfoque ingenuo de llenar todos los valores con la media o la mediana. En este enfoque, especificamos una distancia desde los valores faltantes que también se conoce como el parámetro K. El valor faltante se predecirá con referencia a la media de los vecinos.
Se implementa mediante el método KNNimputer() que contiene los siguientes argumentos:
n_vecinos: número de puntos de datos para incluir más cerca del valor faltante.
métrica: la métrica de distancia que se utilizará para la búsqueda.
valores – {nan_euclidean. invocable} por defecto – pesos nan_euclidianos
: para determinar sobre qué base deben ser tratados los valores vecinos
valores -{uniforme, distancia, invocable} por defecto- uniforme.
Código: código de Python para ilustrar la clase KNNimputor
# import necessary libraries import numpy as np import pandas as pd # import the KNNimputer class from sklearn.impute import KNNImputer # create dataset for marks of a student dict = {'Maths':[80, 90, np.nan, 95], 'Chemistry': [60, 65, 56, np.nan], 'Physics':[np.nan, 57, 80, 78], 'Biology' : [78,83,67,np.nan]} # creating a data frame from the list Before_imputation = pd.DataFrame(dict) #print dataset before imputaion print("Data Before performing imputation\n",Before_imputation) # create an object for KNNImputer imputer = KNNImputer(n_neighbors=2) After_imputation = imputer.fit_transform(Before_imputation) # print dataset after performing the operation print("\n\nAfter performing imputation\n",After_imputation)
Producción:
Data Before performing imputation Maths Chemistry Physics Biology 0 80.0 60.0 NaN 78.0 1 90.0 65.0 57.0 83.0 2 NaN 56.0 80.0 67.0 3 95.0 NaN 78.0 NaN After performing imputation [[80. 60. 68.5 78. ] [90. 65. 57. 83. ] [87.5 56. 80. 67. ] [95. 58. 78. 72.5]]
Nota: Después de transformar los datos, se convierte en una array numpy.
Publicación traducida automáticamente
Artículo escrito por KaranGupta5 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA