Limpieza de datos de preprocesamiento (valores faltantes, redundancia, valores atípicos)

1. Procesamiento de datos faltantes

1. Clasificación de los datos faltantes.

  • La falta de registros de línea, también conocidos como registros de datos faltantes
  • Falta el valor de la columna, es decir, falta el valor de algunas columnas en el registro de datos

2. La idea de tratar con columnas de datos faltantes

2.1 Descartar

  • Elimine filas o columnas enteras para reducir el impacto general de los datos faltantes.
  • Tenga en cuenta que este método no se utiliza cuando una gran cantidad de registros de datos están incompletos o las características de los valores faltantes son más obvias

2.2 Finalización

Generalmente hay los siguientes métodos

  • Método estadístico:
  1. Para datos numéricos, utilice métodos como media, media ponderada y mediana para completar;
  2. Para datos de subtipo, elija modo de finalización
  • Método de modelo: use el campo que falta como la variable objetivo y haga predicciones basadas en los otros campos existentes para obtener el valor completado.
  1. Para variables numéricas, use un modelo de regresión;
  2. Para las variables de clasificación, utilice modelos de clasificación.
  • Ley de la industria: para una pequeña cantidad de datos de gran importancia, la completan expertos de la industria
  • Otros métodos: método aleatorio, método de valor especial, método de búsqueda

2.3 Conversión de la verdad

  • Cuando los datos que faltan se consideran como una regla y se deben utilizar como una dimensión de entrada para participar en el procesamiento y modelado posteriores, no se pueden procesar de manera arbitraria. La idea de procesamiento adoptada en este momento es la conversión de valor verdadero
  • Descripción de ejemplo: tomando el campo de género del usuario como ejemplo, muchos conjuntos de datos no pueden completar el procesamiento de género y no pueden descartarse, por lo que los valores faltantes se usan como variables desconocidas, y las variables masculinas y femeninas se convierten de distribuciones de valores múltiples de una variable a múltiples El verdadero estado de distribución de la variable.
  1. Antes de la conversión: género (rango: masculino, femenino, desconocido)
  2. Después de la conversión: Gender_Male (rango de valores 1 o 0), Gender_Female (rango de valores 1 o 0), Gender_Unknown (rango de valores 1 o 0)
  3. Finalmente, estos tres nuevos campos se utilizan como dimensiones de entrada para reemplazar el campo original para participar en el proceso de modelado posterior.

2.4 Sin tratamiento

  • Esta idea radica en la aplicación de modelado posterior y el análisis de datos. Muchos modelos tienen métodos de tolerancia para valores perdidos, por lo que no pueden procesarse en la etapa de preprocesamiento
  • Ejemplos de modelos: árboles de decisión y bosques aleatorios, redes neuronales e ingenuas Bayes, KNN, etc.
  • Además, el juicio de importancia del campo o característica en el modelado posterior también determina si se deben tratar los valores faltantes.

3. Operaciones específicas (Python)

  • Determine si los datos tienen valores faltantes: isnull ()
  • Obtenga el resultado del juicio de cada columna: any ()
  • Calcule el número de valores faltantes de variables: sum ()
  • Calcule el número de filas y columnas del conjunto de datos: forma, valor de retorno: (número de filas, número de columnas)

3.1 Identificar valores faltantes de columnas de datos (variables)

El código es el siguiente

Importación PANDAS como Pd 

Datal = pd.read_csv ()
 # determina si hay o no un valor faltante de cada variable 
data1.isnull (). (La de cualquier eje = 0)
 # número de valores perdidos en las variables 
data1.isnull (). Sum (eje = 0)
 # proporción de los valores que faltan en las variables 
data1.isnull (). sum (eje = /data1.shape 0) [0]

3.2 Identificar valores faltantes en filas de datos

El código es el siguiente

# Si hay una falta de valor de datos de fila determinación 
data1.isnull (). La cualquier (Axis =. 1 ) .any ()
 # número de líneas valores que faltan 
data1.isnull (). La cualquier (Axis =. 1 ) .sum ()
 # valores que faltan La relación de 
data1.isnull (). Any (axis = 1) .sum () / data1.shape [0]

 

Supongo que te gusta

Origin www.cnblogs.com/yanmai/p/12748219.html
Recomendado
Clasificación