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.
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:
Echemos un vistazo más de cerca a cada uno.
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.
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:
A veces, sin embargo, estas estrategias no arrojan suficientes datos. Puede compensar la falta de puntos de datos con estas técnicas:
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.
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.
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.
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:
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í .