Preprocesamiento de datos en minería de datos: pasos, imputación de valores faltantes, estandarización de datos
Publicado: 2020-12-30La parte del trabajo de un científico de datos que consume más tiempo es preparar y preprocesar los datos disponibles. Los datos que obtenemos en escenarios de la vida real no son limpios ni adecuados para el modelado. Los datos deben limpiarse, llevarse a un formato determinado y transformarse antes de alimentar los modelos de Machine Learning.
Al final de este tutorial, sabrá lo siguiente
- Por qué el preprocesamiento de datos
- Limpieza de datos
- Imputación de valor faltante
- Estandarización de datos
- discretización
Tabla de contenido
¿Por qué preprocesamiento de datos?
Cuando los datos se recuperan eliminando sitios web y recopilándolos de otras fuentes de datos, generalmente están llenos de discrepancias. Pueden ser problemas de formato, valores faltantes, valores y texto basura e incluso errores en los datos. Se deben realizar varios pasos de preprocesamiento para asegurarse de que los datos que se alimentan al modelo estén a la altura para que el modelo pueda aprender y generalizar sobre ellos.
Limpieza de datos
El primer paso y el más esencial es limpiar las irregularidades en los datos. Sin hacer este paso, no podemos entender mucho las estadísticas de los datos. Estos pueden ser problemas de formato, valores basura y valores atípicos.
Problemas de formato
Necesitamos que los datos estén en formato tabular la mayoría de las veces, pero no es el caso. Los datos pueden tener nombres de columna incorrectos o faltantes, columnas en blanco. Además, cuando se trata de datos no estructurados, como imágenes y texto, se vuelve sumamente esencial cargar los datos 2D o 3D en marcos de datos para el modelado.
Valores basura
Muchas instancias o columnas completas pueden tener ciertos valores basura agregados al valor real requerido. Por ejemplo, considere una columna "rango" que tiene valores como: "#1", "#3", "#12", "#2", etc. Ahora, es importante eliminar todos los "#" anteriores. caracteres para poder alimentar el valor numérico al modelo.
valores atípicos
Muchas veces, ciertos valores numéricos son demasiado grandes o demasiado bajos que el valor promedio de la columna específica. Estos se consideran atípicos. Los valores atípicos necesitan un tratamiento especial y son un factor sensible a tratar. Estos valores atípicos pueden ser errores de medición o también pueden ser valores reales. Deben eliminarse por completo o manejarse por separado, ya que pueden contener mucha información importante.
Valores faltantes
Rara vez se da el caso de que sus datos contengan todos los valores para cada instancia. Faltan muchos valores o se llenan con entradas de basura. Estos valores faltantes necesitan ser tratados. Estos valores pueden tener varias razones por las que pueden faltar. Es posible que falten debido a algún motivo, como un error del sensor u otros factores, o también pueden faltar completamente al azar.
Leer: Proyectos de minería de datos en India
Goteante
La forma más directa y sencilla es descartar las filas donde faltan valores. Hacer esto tiene muchas desventajas, como la pérdida de información crucial. Podría ser un buen paso descartar los valores que faltan cuando la cantidad de datos que tiene es enorme. Pero si los datos son menores y faltan muchos valores, necesita mejores formas de abordar este problema.
Imputación media/mediana/moda
La forma más rápida de imputar valores faltantes es simplemente imputar el valor medio de la columna. Sin embargo, tiene desventajas porque perturba la distribución original de los datos. También puede imputar el valor de la mediana o el valor de la moda, que generalmente es mejor que la media simple.
Interpolación lineal y KNN
También se pueden usar formas más inteligentes para imputar valores faltantes. 2 de las cuales son interpolaciones lineales que usan múltiples modelos al tratar la columna con valores en blanco como la característica que se va a predecir. Otra forma es usar el agrupamiento por KNN. KNN crea grupos de valores en una característica particular y luego asigna el valor más cercano al grupo.
Estandarización de datos
En un conjunto de datos con múltiples características numéricas, es posible que no todas las características estén en la misma escala. Por ejemplo, una característica "Distancia" tiene distancias en metros como 1300, 800, 560, etc. Y otra característica "tiempo" tiene tiempos en horas como 1, 2.5, 3.2, 0.8, etc. Entonces, cuando estas dos características se alimentan al modelo, considera que la característica con distancias tiene más peso, ya que sus valores son grandes. Para evitar este escenario y tener una convergencia más rápida, es necesario llevar todas las características a la misma escala.

Normalización
Una forma común de escalar las características es normalizándolas. Se puede implementar utilizando el Normalizador de Scikit-learn. No funciona en las columnas, sino en las filas. La normalización L2 se aplica a cada observación para que los valores en una fila tengan una norma de unidad después de escalar.
Escala mín. máx.
El escalado Min Max se puede implementar mediante la clase Min MaxScaler de Scikit-learn. Resta el valor mínimo de las características y luego lo divide por el rango, donde el rango es la diferencia entre el máximo original y el mínimo original. Conserva la forma de la distribución original, con rango por defecto en 0-1.
Escalado estándar
Standard Scaler también se puede implementar usando la clase de Scikit-learn. Estandariza una característica restando la media y luego escalando a la varianza unitaria, donde la varianza unitaria significa dividir todos los valores por la desviación estándar. Hace que la media de la distribución sea 0 y la desviación estándar sea 1.
discretización
Muchas veces los datos no están en forma numérica en lugar de en forma categórica. Por ejemplo, considere una función de "temperatura" con valores como "Alto", "Bajo", "Medio". Estos valores textuales deben codificarse en forma numérica para que el modelo pueda entrenarse.
Datos categóricos
Los datos categóricos se codifican con etiquetas para presentarlos en forma numérica. Por lo tanto, "Alto", "Medio" y "Bajo" se pueden codificar con etiquetas en 3, 2 y 1. Las características categóricas pueden ser nominales u ordinales. Los rasgos categóricos ordinales son aquellos que tienen un cierto orden. Por ejemplo, en el caso anterior, podemos decir que 3>2>1 ya que las temperaturas se pueden medir/cuantificar.
Sin embargo, en un ejemplo donde una característica de "Ciudad" que tiene valores como "Delhi", "Jammu" y "Agra", no se puede medir. En otras palabras, cuando los etiquetamos y codificamos como 3, 2, 1, no podemos decir que 3>2>1 porque “Delhi” > “Jammu” no tendrá mucho sentido. En tales casos, usamos One Hot Encoding.
Datos continuos
Las entidades con valores continuos también se pueden discretizar agrupando los valores en intervalos de rangos específicos. Binning significa convertir una característica numérica o continua en un conjunto discreto de valores, en función de los rangos de los valores continuos. Esto es útil cuando desea ver las tendencias según el rango en el que se encuentra el punto de datos.
Por ejemplo, digamos que tenemos calificaciones para 7 niños que van de 0 a 100. Ahora, podemos asignar las marcas de cada niño a un "contenedor" en particular. Ahora podemos dividir en 3 contenedores con rangos de 0 a 50, 51-70 y 71-100 pertenecientes a los contenedores 1, 2 y 3 respectivamente. Por lo tanto, la función ahora solo contendrá uno de estos 3 valores. Pandas ofrece 2 funciones para lograr un binning rápido: qcut y cut.
Pandas qcut toma la cantidad de cuantiles y divide los puntos de datos en cada contenedor según la distribución de datos.
Pandas cut, por otro lado, toma los rangos personalizados definidos por nosotros y divide los puntos de datos en esos rangos.
Lectura relacionada: Preprocesamiento de datos en aprendizaje automático
Aprenda cursos de ciencia de datos de las mejores universidades del mundo. Obtenga programas Executive PG, programas de certificados avanzados o programas de maestría para acelerar su carrera.
Conclusión
El preprocesamiento de datos es un paso esencial en cualquier tarea de minería de datos y aprendizaje automático. Todos los pasos que discutimos ciertamente no son todos, pero cubren la mayor parte de la parte básica del proceso. Las técnicas de preprocesamiento de datos también son diferentes para NLP y datos de imágenes. Asegúrese de probar los ejemplos de los pasos anteriores e implementarlos en su canalización de minería de datos.
Si tiene curiosidad por aprender sobre ciencia de datos, consulte el Diploma PG en ciencia de datos de IIIT-B y upGrad, creado para profesionales que trabajan y ofrece más de 10 estudios de casos y proyectos, talleres prácticos, tutoría con expertos de la industria, 1- on-1 con mentores de la industria, más de 400 horas de aprendizaje y asistencia laboral con las mejores empresas.
¿Qué es el preprocesamiento de datos y cuál es su significado?
Esta es una técnica para proporcionar los datos no estructurados sin procesar que se encuentran en forma de imágenes, texto, videos. Estos datos se preprocesan primero para eliminar inconsistencias, errores y redundancias para que puedan analizarse más tarde.
Los datos sin procesar se transforman en datos relevantes que las máquinas pueden entender. El preprocesamiento de los datos es un paso importante para transformar los datos para el modelado. Sin procesamiento, es prácticamente inútil.
¿Cuáles son los pasos involucrados en el preprocesamiento de datos?
El preprocesamiento de datos implica varios pasos para completar todo el proceso. Primero se limpian los datos para eliminar los ruidos y completar los valores que faltan. Después de esto, los datos se integran desde múltiples fuentes para combinarlos en un solo conjunto de datos. Estos pasos van seguidos de transformación, reducción y discretización.
La transformación de los datos sin procesar implica la normalización de los datos. La reducción y la discretización se ocupan básicamente de reducir los atributos y las dimensiones de los datos. A esto le sigue la compresión de este gran conjunto de datos.
¿Cuál es la diferencia entre los métodos univariados y multivariados?
El método univariante es el método más simple para manejar un valor atípico. No analiza ninguna relación, ya que es una sola variable y su propósito principal es analizar los datos y determinar el patrón asociado con ellos. La media, la mediana y la moda son ejemplos de patrones encontrados en los datos univariados.
Por otro lado, el método multivariante es para analizar tres o más variables. Es más preciso que el método anterior ya que, a diferencia del método univariante, el método multivariante trata con relaciones y patrones. El árbol aditivo, el análisis de correlación canónica y el análisis de conglomerados son algunas de las formas de realizar un análisis multivariado.
