Información general sobre machine learning - Amazon Redshift

Información general sobre machine learning

A través de Amazon Redshift ML, puede formar modelos de machine learning con instrucciones SQL e invocarlos en consultas SQL para generar predicciones.

Si desea aprender a utilizar Amazon Redshift ML, puede ver el video que aparece a continuación.

Para obtener información sobre los requisitos previos necesarios en la configuración del clúster de Redshift, los permisos y la propiedad para utilizar Amazon Redshift ML, lea las siguientes secciones. En estas secciones, también se describe el funcionamiento sencillo de la formación y las predicciones en Amazon Redshift ML.

Solución de problemas con machine learning

Un modelo de machine learning genera predicciones mediante la búsqueda de patrones en sus datos de formación y la posterior aplicación de dichos patrones a los nuevos datos. En machine learning, se forman estos modelos a través del aprendizaje de los patrones que mejor explican los datos. A continuación, se utilizan los modelos para generar predicciones (también denominadas inferencias) a partir de los nuevos datos. Por lo general, el machine learning es un proceso iterativo en el que se puede seguir mejorando la precisión de las predicciones a través de la modificación de los parámetros y la mejora de los datos de formación. Si se producen cambios en los datos, se vuelven a formar los nuevos modelos a partir del conjunto de datos nuevo.

Existen diferentes enfoques fundamentales en torno al machine learning para abordar los diversos objetivos empresariales.

Aprendizaje supervisado en Amazon Redshift ML

Amazon Redshift admite el aprendizaje supervisado, que es el enfoque más común para el análisis empresarial avanzado. El aprendizaje supervisado constituye el enfoque de machine learning preferido cuando se dispone de un conjunto de datos establecido y de un conocimiento del modo en que los datos de entrada específicos predicen diversos resultados empresariales. Este tipo de resultado a veces se denomina etiqueta. En concreto, su conjunto de datos es una tabla con atributos que comprenden características (entradas) y objetivos (salidas). Por ejemplo, supongamos que dispone de una tabla que proporciona la edad y el código postal de los clientes anteriores y actuales. Supongamos que también dispone de un campo “activo” que se encuentra configurado como true para los clientes actuales y como false para quienes hayan suspendido su suscripción. El objetivo del machine learning supervisado consiste en detectar los patrones de edad y código postal que conducen a la deserción de los clientes, tal y como la representan los clientes cuyo objetivo es “False” (Falso). Puede utilizar este modelo para predecir qué clientes son propensos a darse de baja, como suspender su suscripción, para así ofrecer posibles incentivos para retenerlos.

Amazon Redshift admite el aprendizaje supervisado que incluye la regresión, la clasificación binaria y la clasificación multiclase. La regresión se refiere a la problemática de predecir valores continuos, como el gasto total de los clientes. La clasificación binaria se refiere a la problemática de predecir uno de dos resultados, como predecir si un cliente se dará de baja o no. La clasificación multiclase se refiere a la problemática de predecir uno de los muchos resultados, como predecir el elemento en el que podría estar interesado un cliente. Los analistas y los científicos de datos pueden utilizarla para llevar a cabo un aprendizaje supervisado que les permita abordar una serie de problemáticas que van desde los pronósticos, la personalización o la predicción de la deserción de clientes. Asimismo, se puede recurrir al aprendizaje supervisado para resolver distintos problemas, como la predicción de las ventas que se concretarán, la predicción de los ingresos, la detección de fraudes y la predicción del valor de la vida útil del cliente.

Aprendizaje sin supervisar en Amazon Redshift ML

El aprendizaje sin supervisar utiliza algoritmos de machine learning para analizar y agrupar datos de formación sin etiquetar. Los algoritmos descubren patrones o agrupaciones ocultos. El objetivo es modelar la estructura o distribución subyacente de los datos para obtener más información sobre los datos.

Amazon Redshift admite el algoritmo de clústeres K-Means para resolver un problema de aprendizaje sin supervisar. Este algoritmo resuelve problemas en clústeres en los que desea descubrir agrupaciones en los datos. El algoritmo K-Means intenta encontrar agrupaciones discretas dentro de los datos. Los datos sin clasificar se agrupan y dividen en función de sus similitudes y diferencias. Mediante la agrupación, el algoritmo K-Means determina iterativamente los mejores centroides y asigna cada miembro al centroide más cercano. Los miembros más cercanos al mismo centroide pertenecen al mismo grupo. Los miembros de un grupo son lo más parecido posible a otros miembros del mismo grupo y lo más diferente posible de los miembros de otros grupos. Por ejemplo, el algoritmo de clústeres K-Means se puede utilizar para clasificar ciudades afectadas por una pandemia o para clasificar ciudades en función de la popularidad de los productos de consumo.

Al utilizar el algoritmo K-Means, especifica una entrada k que especifica el número de clústeres para buscar en los datos. La salida de este algoritmo es un conjunto de centroides k. Cada punto de datos pertenece a uno de los clústeres k más cercanos a él. Cada clúster se describe mediante su centroide. El centroide se puede considerar como el promedio multidimensional del clúster. El algoritmo K-Means compara las distancias para ver qué tan diferentes son los clústeres entre sí. Generalmente, una distancia mayor indica una mayor diferencia entre los clústeres.

El procesamiento previo de los datos es importante para K-Means, ya que garantiza que las características del modelo se mantengan a la misma escala y produzcan resultados confiables. Amazon Redshift admite algunos procesadores previos de K-Means para la instrucción CREATE MODEL, como StandardScaler, MinMax y NumericPassthrough. Si no desea aplicar ningún procesamiento previo para K-Means, elija NumericPassthrough explícitamente como transformador. Para obtener más información sobre los parámetros de K-Means, consulte CREATE MODEL con parámetros K-MEANS.

Si desea aprender a realizar una formación sin supervisión con agrupación en clústeres de K-means, puede ver el siguiente video.

Términos y conceptos de Amazon Redshift ML

Los siguientes términos se utilizan para describir algunos conceptos de Amazon Redshift ML:

  • El machine learning en Amazon Redshift forma un modelo con un comando SQL. Amazon Redshift ML y Amazon SageMaker administran la totalidad de los procesos de conversión de datos, los permisos, el uso de recursos y la detección del modelo adecuado.

  • La formación es la fase en la que Amazon Redshift crea un modelo de machine learning mediante la ejecución de un subconjunto específico de datos en el modelo. Amazon Redshift lanza automáticamente un trabajo de formación en Amazon SageMaker y genera un modelo.

  • La predicción (también denominada inferencia) representa el uso del modelo en las consultas SQL de Amazon Redshift para predecir resultados. En el momento de la inferencia, Amazon Redshift utiliza una función de predicción basada en un modelo que forma parte de una consulta más amplia destinada a generar predicciones. Las predicciones se calculan a nivel local, en el clúster de Redshift, lo que permite proporcionar un alto nivel de rendimiento, una baja latencia y ningún costo adicional.

  • Mediante bring your own model (BYOM), puede utilizar un modelo formado fuera de Amazon Redshift con Amazon SageMaker para la inferencia local en la base de datos de Amazon Redshift. Amazon Redshift ML admite el uso de BYOM en la inferencia local.

  • La inferencia local se utiliza si los modelos se someten a formación con antelación en Amazon SageMaker, se compilan con Amazon SageMaker Neo y se localizan en Amazon Redshift ML. Si desea importar a Amazon Redshift modelos compatibles con la inferencia local, utilice el comando CREATE MODEL. Amazon Redshift importa los modelos ya formados de SageMaker llamando a Amazon SageMaker Neo. Allí, se compila el modelo y se importa el modelo compilado a Amazon Redshift. Utilice la inferencia local para obtener mayor velocidad y reducir los costos.

  • La inferencia remota se utiliza cuando Amazon Redshift invoca un punto de conexión del modelo que se ha implementado en SageMaker. La inferencia remota proporciona la flexibilidad necesaria para invocar todo tipo de modelos personalizados y modelos de aprendizaje profundo; por ejemplo, los modelos de TensorFlow que se hayan creado e implementado en Amazon SageMaker.

Además, cabe destacar lo siguiente:

  • Amazon SageMaker es un servicio de machine learning completamente administrado. Con Amazon SageMaker los desarrolladores y los científicos de datos pueden fácilmente crear, formar y, a continuación, implementar de manera directa los modelos en un entorno alojado listo para la producción. Para obtener más información acerca de Amazon SageMaker, consulte ¿Qué es Amazon SageMaker? en la Guía para desarrolladores de Amazon SageMaker.

  • Amazon SageMaker Autopilot es un conjunto de características que forma y ajusta automáticamente los modelos de machine learning más adecuados para la clasificación o la regresión, en función de sus datos. Mantiene pleno control y visibilidad. Amazon SageMaker Autopilot admite datos de entrada en formato tabular. Amazon SageMaker Autopilot brinda limpieza y procesamiento previo automáticos de los datos, selección automática de algoritmos para la regresión lineal, la clasificación binaria y la clasificación multiclase. También admite la optimización automática de hiperparámetros (HPO), la formación distribuida, la instancia automática y la selección del tamaño del clúster. Para obtener más información acerca de Amazon SageMaker Autopilot, consulte Automatizar el desarrollo de modelos con Amazon SageMaker Autopilot en la Guía para desarrolladores de Amazon SageMaker.