paint-brush
Preparación de datos para el aprendizaje automático: una guía paso a pasopor@itrex
3,802 lecturas
3,802 lecturas

Preparación de datos para el aprendizaje automático: una guía paso a paso

por ITRex12m2023/04/13
Read on Terminal Reader

Demasiado Largo; Para Leer

Muchas empresas asumen que alimentar grandes volúmenes de datos en un motor de ML es suficiente para generar predicciones precisas. La verdad es que puede dar lugar a una serie de problemas, por ejemplo, sesgo algorítmico o escalabilidad limitada. El éxito del aprendizaje automático depende en gran medida de los datos. Y lo triste es que todos los conjuntos de datos son defectuosos. Es por eso que la preparación de datos es crucial para el aprendizaje automático. Ayuda a descartar imprecisiones y sesgos inherentes a los datos sin procesar, de modo que el modelo de ML resultante genere predicciones más confiables y precisas.
featured image - Preparación de datos para el aprendizaje automático: una guía paso a paso
ITRex HackerNoon profile picture

Años atrás, cuando Spotify estaba trabajando en su motor de recomendación, se enfrentaron a desafíos relacionados con la calidad de los datos utilizados para entrenar algoritmos de ML.


Si no hubieran decidido volver a la etapa de preparación de datos e invertir un esfuerzo adicional en limpiar, normalizar y transformar sus datos, es probable que nuestra experiencia auditiva no fuera tan agradable.


La preparación minuciosa de los datos para el aprendizaje automático permitió a la plataforma de transmisión entrenar un potente motor de aprendizaje automático que predice con precisión las preferencias de escucha de los usuarios y ofrece recomendaciones de música altamente personalizadas.


Spotify evitó un error crucial que cometen las empresas cuando se trata de preparar datos para el aprendizaje automático: no invertir suficiente esfuerzo o saltarse el escenario en absoluto.


Muchas empresas asumen que alimentar grandes volúmenes de datos en un motor de ML es suficiente para generar predicciones precisas. La verdad es que puede dar lugar a una serie de problemas, por ejemplo, sesgo algorítmico o escalabilidad limitada.


El éxito del aprendizaje automático depende en gran medida de los datos.


Y lo triste es que todos los conjuntos de datos son defectuosos. Es por eso que la preparación de datos es crucial para el aprendizaje automático. Ayuda a descartar imprecisiones y sesgos inherentes a los datos sin procesar, de modo que el modelo de ML resultante genere predicciones más confiables y precisas.


En esta publicación de blog, destacamos la importancia de preparar datos para el aprendizaje automático y compartimos nuestro enfoque para recopilar, limpiar y transformar datos. Entonces, si es nuevo en ML y quiere asegurarse de que su iniciativa sea un éxito, siga leyendo.

Cómo preparar datos para el aprendizaje automático

El primer paso hacia la adopción exitosa de ML es formular claramente su problema comercial. No solo garantiza que el modelo de ML que está creando esté alineado con las necesidades de su negocio, sino que también le permite ahorrar tiempo y dinero en la preparación de datos que podrían no ser relevantes.


Además, una declaración clara del problema hace que el modelo de ML sea explicable (lo que significa que los usuarios entienden cómo toma decisiones). Es especialmente importante en sectores como la atención médica y las finanzas, donde el aprendizaje automático tiene un gran impacto en la vida de las personas.


Una vez resuelto el problema comercial, es hora de comenzar con el trabajo de datos.


En general, el proceso de preparación de datos para el aprendizaje automático se puede dividir en las siguientes etapas:


  1. Recopilación de datos
  2. Limpieza de datos
  3. Transformación de datos
  4. división de datos


Echemos un vistazo más de cerca a cada uno.

Recopilación de datos

La preparación de datos para el aprendizaje automático comienza con la recopilación de datos. Durante la etapa de recopilación de datos, recopila datos para entrenar y ajustar el futuro modelo de ML. Al hacerlo, tenga en cuenta el tipo, el volumen y la calidad de los datos : estos factores determinarán la mejor estrategia de preparación de datos.


El aprendizaje automático utiliza tres tipos de datos: estructurados, no estructurados y semiestructurados.

  • Los datos estructurados se organizan de una manera específica, normalmente en formato de tabla o de hoja de cálculo. Los ejemplos de datos estructurados abarcan información recopilada de bases de datos o sistemas transaccionales.
  • Los datos no estructurados incluyen imágenes, videos, grabaciones de audio y otra información que no sigue los modelos de datos convencionales.
  • Los datos semiestructurados no siguen el formato de un modelo de datos tabulares. Aún así, no está completamente desorganizado, ya que contiene algunos elementos estructurales, como etiquetas o metadatos, que lo hacen más fácil de interpretar. Los ejemplos incluyen datos en formato XML o JSON.


La estructura de los datos determina el enfoque óptimo para preparar los datos para el aprendizaje automático. Los datos estructurados, por ejemplo, pueden organizarse fácilmente en tablas y limpiarse mediante la deduplicación, el llenado de valores faltantes o la estandarización de formatos de datos.


Por el contrario, extraer características relevantes de datos no estructurados requiere técnicas más complejas, como el procesamiento del lenguaje natural o la visión artificial .


El enfoque óptimo para la preparación de datos para el aprendizaje automático también se ve afectado por el volumen de datos de entrenamiento. Un gran conjunto de datos puede requerir muestreo, lo que implica seleccionar un subconjunto de datos para entrenar el modelo debido a limitaciones computacionales. Uno más pequeño, a su vez, puede requerir que los científicos de datos tomen medidas adicionales para generar más datos basados en los puntos de datos existentes (más sobre eso a continuación).


La calidad de los datos recopilados también es crucial. El uso de datos inexactos o sesgados puede afectar la salida de ML, lo que puede tener consecuencias significativas, especialmente en áreas como finanzas, atención médica y justicia penal. Existen técnicas que permiten corregir los datos por errores y sesgos. Sin embargo, es posible que no funcionen en un conjunto de datos que es inherentemente sesgado. Una vez que sepa qué hace que los datos sean "buenos", debe decidir cómo recopilarlos y dónde encontrarlos. Hay varias estrategias para eso:


  • Recopilación de datos de fuentes internas : si tiene información almacenada en el almacén de datos de su empresa , puede usarla para entrenar algoritmos de ML. Estos datos podrían incluir transacciones de ventas, interacciones con clientes, datos de plataformas de redes sociales y otras fuentes.
  • Recopilación de datos de fuentes externas : puede recurrir a fuentes de datos disponibles públicamente, como portales de datos gubernamentales, repositorios de datos académicos y comunidades de intercambio de datos, como Kaggle, UCI Machine Learning Repository o Google Dataset Search.
  • Raspado web : esta técnica consiste en extraer datos de sitios web utilizando herramientas automatizadas. Este enfoque puede ser útil para recopilar datos de fuentes a las que no se puede acceder por otros medios, como reseñas de productos, artículos de noticias y redes sociales.
  • Encuestas : este enfoque se puede utilizar para recopilar puntos de datos específicos de un público objetivo específico. Es especialmente útil para recopilar información sobre las preferencias o el comportamiento del usuario.


A veces, sin embargo, estas estrategias no arrojan suficientes datos. Puede compensar la falta de puntos de datos con estas técnicas:


  • Aumento de datos , que permite generar más datos a partir de muestras existentes transformándolos de diversas maneras, por ejemplo, rotando, traduciendo o escalando
  • Aprendizaje activo , que permite seleccionar la muestra de datos más informativa para el etiquetado por parte de un experto humano.
  • Transferencia de aprendizaje , que implica el uso de algoritmos de ML previamente entrenados aplicados para resolver una tarea relacionada como punto de partida para entrenar un nuevo modelo de ML, seguido de un ajuste fino del nuevo modelo en nuevos datos.
  • Intercambio colaborativo de datos , que implica trabajar con otros investigadores y organizaciones para recopilar y compartir datos para un objetivo común.

Limpieza de datos

El siguiente paso a seguir para preparar los datos para el aprendizaje automático es limpiarlos. La limpieza de datos implica encontrar y corregir errores, inconsistencias y valores faltantes. Hay varios enfoques para hacerlo:


  • Manejo de datos faltantes


    Los valores faltantes son un problema común en el aprendizaje automático. Se puede manejar por imputación (piense: completar los valores faltantes con datos estimados o predichos), interpolación (derivar los valores faltantes de los puntos de datos circundantes) o eliminación (simplemente eliminar filas o columnas con valores faltantes de un conjunto de datos).


  • Manejo de valores atípicos


    Los valores atípicos son puntos de datos que difieren significativamente del resto del conjunto de datos. Los valores atípicos pueden ocurrir debido a errores de medición, errores de ingreso de datos o simplemente porque representan observaciones inusuales o extremas. En un conjunto de datos de salarios de empleados, por ejemplo, un valor atípico puede ser un empleado que gana significativamente más o menos que otros. Los valores atípicos se pueden manejar eliminándolos, transformándolos para reducir su impacto, winsorizando (piense: reemplazando los valores extremos con los valores más cercanos que están dentro del rango normal de distribución) o tratándolos como una clase separada de datos.


  • Eliminar duplicados


    Otro paso en el proceso de preparación de datos para el aprendizaje automático es la eliminación de duplicados. Los duplicados no solo distorsionan las predicciones de ML, sino que también desperdician espacio de almacenamiento y aumentan el tiempo de procesamiento, especialmente en grandes conjuntos de datos. Para eliminar los duplicados, los científicos de datos recurren a una variedad de técnicas de identificación de duplicados (como la coincidencia exacta, la coincidencia aproximada, el hash o la vinculación de registros). Una vez identificados, pueden eliminarse o fusionarse. Sin embargo, en conjuntos de datos desequilibrados, los duplicados pueden ser bienvenidos para lograr una distribución normal.


  • Manejo de datos irrelevantes


    Los datos irrelevantes se refieren a los datos que no son útiles o aplicables para resolver el problema. El manejo de datos irrelevantes puede ayudar a reducir el ruido y mejorar la precisión de la predicción. Para identificar datos irrelevantes, los equipos de datos recurren a técnicas como el análisis de componentes principales, el análisis de correlación o simplemente confían en su conocimiento del dominio. Una vez identificados, dichos puntos de datos se eliminan del conjunto de datos.


  • Manejo de datos incorrectos


    La preparación de datos para el aprendizaje automático también debe incluir el manejo de datos incorrectos y erróneos. Las técnicas comunes para manejar dichos datos incluyen la transformación de datos (cambiar los datos para que cumplan con los criterios establecidos) o eliminar puntos de datos incorrectos por completo.


  • Manejo de datos desequilibrados


    Un conjunto de datos desequilibrado es un conjunto de datos en el que la cantidad de puntos de datos en una clase es significativamente menor que la cantidad de puntos de datos en otra clase. Esto puede resultar en un modelo sesgado que prioriza a la clase mayoritaria, mientras ignora a la clase minoritaria. Para abordar el problema, los equipos de datos pueden recurrir a técnicas como el remuestreo (ya sea sobremuestreo de la clase minoritaria o submuestreo de la clase mayoritaria para equilibrar la distribución de datos), generación de datos sintéticos (generación sintética de puntos de datos adicionales para la clase minoritaria), costo -aprendizaje sensible (asignar mayor peso a la clase minoritaria durante el entrenamiento), aprendizaje conjunto (combinar múltiples modelos entrenados en diferentes subconjuntos de datos usando diferentes algoritmos), y otros.


    Estas actividades ayudan a garantizar que los datos de capacitación sean precisos, completos y coherentes. Aunque es un gran logro, todavía no es suficiente para producir un modelo ML confiable. Por lo tanto, el siguiente paso en el viaje de preparación de datos para el aprendizaje automático implica asegurarse de que los puntos de datos en el conjunto de datos de entrenamiento cumplan con reglas y estándares específicos. Y esa etapa en el proceso de gestión de datos se conoce como transformación de datos.

Transformación de datos

Durante la etapa de transformación de datos, convierte los datos sin procesar en un formato adecuado para los algoritmos de aprendizaje automático. Eso, a su vez, garantiza un mayor rendimiento y precisión algorítmica.


Nuestros expertos en la preparación de datos para el aprendizaje automático mencionan las siguientes técnicas comunes de transformación de datos:


  • Escalada


    En un conjunto de datos, diferentes características pueden usar diferentes unidades de medida. Por ejemplo, un conjunto de datos de bienes raíces puede incluir información sobre la cantidad de habitaciones en cada propiedad (que va de uno a diez) y el precio (que va desde $ 50,000 a $ 1,000,000). Sin escalar, es un desafío equilibrar la importancia de ambas funciones. El algoritmo podría dar demasiada importancia a la característica con valores más grandes (en este caso, el precio) y no lo suficiente a la característica con valores aparentemente más pequeños. El escalado ayuda a resolver este problema al transformar todos los puntos de datos de manera que se ajusten a un rango específico, generalmente entre 0 y 1. Ahora puede comparar diferentes variables en igualdad de condiciones.


  • Normalización


    Otra técnica utilizada en la preparación de datos para el aprendizaje automático es la normalización. Es similar a escalar. Sin embargo, mientras que la escala cambia el rango de un conjunto de datos, la normalización cambia su distribución.


  • Codificación


    Los datos categóricos tienen un número limitado de valores, por ejemplo, colores, modelos de automóviles o especies animales. Debido a que los algoritmos de aprendizaje automático generalmente funcionan con datos numéricos, los datos categóricos deben codificarse para poder usarse como entrada. Entonces, la codificación significa convertir datos categóricos en un formato numérico. Hay varias técnicas de codificación para elegir, incluida la codificación one-hot, la codificación ordinal y la codificación de etiquetas.


  • discretización


    La discretización es un enfoque para preparar datos para el aprendizaje automático que permite transformar variables continuas, como el tiempo, la temperatura o el peso, en variables discretas. Considere un conjunto de datos que contiene información sobre la altura de las personas. La altura de cada persona se puede medir como una variable continua en pies o centímetros. Sin embargo, para ciertos algoritmos de ML, podría ser necesario diferenciar estos datos en categorías, por ejemplo, "bajo", "mediano" y "alto". Esto es exactamente lo que hace la discretización. Ayuda a simplificar el conjunto de datos de entrenamiento y reduce la complejidad del problema. Los enfoques comunes para la discretización abarcan la discretización basada en clústeres y basada en árboles de decisión.


  • Reducción de dimensionalidad


    La reducción de dimensionalidad significa limitar la cantidad de características o variables en un conjunto de datos y solo preservar la información relevante para resolver el problema. Considere un conjunto de datos que contenga información sobre el historial de compras de los clientes. Presenta la fecha de compra, el artículo comprado, el precio del artículo y el lugar donde se realizó la compra. Al reducir la dimensionalidad de este conjunto de datos, omitimos todas las características excepto las más importantes, por ejemplo, el artículo comprado y su precio. La reducción de la dimensionalidad se puede realizar con una variedad de técnicas, algunas de las cuales son el análisis de componentes principales, el análisis discriminante lineal y la incrustación de vecinos estocásticos distribuidos en t.


  • Transformación de registros


    Otra forma de preparar datos para el aprendizaje automático, la transformación de registros, se refiere a aplicar una función logarítmica a los valores de una variable en un conjunto de datos. A menudo se usa cuando los datos de entrenamiento están muy sesgados o tienen un amplio rango de valores. La aplicación de una función logarítmica puede ayudar a que la distribución de datos sea más simétrica.


    Hablando de transformación de datos, también deberíamos mencionar la ingeniería de características . Si bien es una forma de transformación de datos, es más que una técnica o un paso en el proceso de preparación de datos para el aprendizaje automático. Significa seleccionar, transformar y crear características en un conjunto de datos. La ingeniería de características implica una combinación de técnicas estadísticas, matemáticas y computacionales, incluido el uso de modelos ML, para crear características que capturen la información más relevante en los datos.


    Por lo general, es un proceso iterativo que requiere probar y evaluar diferentes técnicas y combinaciones de funciones para encontrar el mejor enfoque para resolver un problema.

división de datos

El siguiente paso en el proceso de preparación de datos para el aprendizaje automático consiste en dividir todos los datos recopilados en subconjuntos, el proceso conocido como división de datos. Por lo general, los datos se dividen en un conjunto de datos de entrenamiento, validación y prueba.


  • Un conjunto de datos de entrenamiento se usa para enseñar realmente a un modelo de aprendizaje automático a reconocer patrones y relaciones entre variables de entrada y de destino. Este conjunto de datos suele ser el más grande.
  • Un conjunto de datos de validación es un subconjunto de datos que se utiliza para evaluar el rendimiento del modelo durante el entrenamiento. Ayuda a afinar el modelo ajustando hiperparámetros (piense: parámetros del proceso de entrenamiento que se configuran manualmente antes del entrenamiento, como la tasa de aprendizaje, la fuerza de regularización o la cantidad de capas ocultas). El conjunto de datos de validación también ayuda a evitar el sobreajuste de los datos de entrenamiento.
  • Un conjunto de datos de prueba es un subconjunto de datos que se utiliza para evaluar el rendimiento del modelo entrenado. Su objetivo es evaluar la precisión del modelo en datos nuevos e invisibles. El conjunto de datos de prueba solo se usa una vez, después de que el modelo se haya entrenado y ajustado en los conjuntos de datos de entrenamiento y validación.


Al dividir los datos, podemos evaluar qué tan bien se desempeña un modelo de aprendizaje automático en datos que no ha visto antes. Sin división, es probable que el modelo funcione mal con los datos nuevos. Esto puede suceder porque el modelo puede haber memorizado los puntos de datos en lugar de aprender patrones y generalizarlos a nuevos datos.


Existen varios enfoques para la división de datos, y la elección del óptimo depende del problema que se está resolviendo y de las propiedades del conjunto de datos. Nuestros expertos en la preparación de datos para el aprendizaje automático dicen que a menudo se requiere algo de experimentación por parte del equipo de datos para determinar la estrategia de división más efectiva. Los siguientes son los más comunes:


  • Muestreo aleatorio , donde, como su nombre indica, los datos se dividen aleatoriamente. Este enfoque se aplica a menudo a grandes conjuntos de datos representativos de la población que se está modelando. Alternativamente, se usa cuando no hay relaciones conocidas en los datos que requieran un enfoque más especializado.
  • Muestreo estratificado , donde los datos se dividen en subconjuntos según las etiquetas de clase u otras características, seguido de un muestreo aleatorio de estos subconjuntos. Esta estrategia se aplica a conjuntos de datos desequilibrados con la cantidad de valores en una clase que excede significativamente la cantidad de valores en otras. En ese caso, el muestreo estratificado ayuda a garantizar que los conjuntos de datos de entrenamiento y prueba tengan una distribución similar de valores de cada clase.
  • Muestreo basado en el tiempo , donde los datos recopilados hasta un cierto punto de tiempo forman un conjunto de datos de entrenamiento, mientras que los datos recopilados después del punto establecido se forman en un conjunto de datos de prueba. Este enfoque se utiliza cuando los datos se recopilaron durante un largo período de tiempo, por ejemplo, en conjuntos de datos financieros o médicos, ya que permite garantizar que el modelo pueda hacer predicciones precisas sobre datos futuros.
  • Validación cruzada , donde los datos se dividen en múltiples subconjuntos o pliegues. Algunos pliegues se utilizan para entrenar el modelo, mientras que los restantes se utilizan para la evaluación del rendimiento. El proceso se repite varias veces, y cada pliegue sirve como datos de prueba al menos una vez. Hay varias técnicas de validación cruzada, por ejemplo, validación cruzada de k-fold y validación cruzada de exclusión. La validación cruzada generalmente proporciona una estimación más precisa del rendimiento del modelo que la evaluación en un solo conjunto de datos de prueba.

En una nota final

La preparación adecuada de los datos para el aprendizaje automático es esencial para desarrollar soluciones de aprendizaje automático precisas y confiables. En ITRex, entendemos los desafíos de la preparación de datos y la importancia de tener un conjunto de datos de calidad para un proceso de aprendizaje automático exitoso.


Si desea maximizar el potencial de sus datos a través del aprendizaje automático, comuníquese con el equipo de ITRex . Nuestros expertos brindarán asistencia en la recopilación, limpieza y transformación de sus datos.


También publicado aquí .