Présentation du machine learning - Amazon Redshift

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Présentation du machine learning

En utilisant Amazon Redshift ML, vous pouvez entraîner des modèles de machine learning en utilisant des instructions SQL et les invoquer dans des requêtes SQL pour la prédiction.

Pour vous aider à apprendre à utiliser Amazon Redshift ML, vous pouvez regarder la vidéo suivante.

Pour plus d'informations sur les conditions préalables à la configuration de votre cluster Redshift, les autorisations et les droits de propriété pour utiliser Amazon Redshift ML, consultez les rubriques suivantes. Ces sections décrivent également le fonctionnement de l'entraînement et des prédictions simples dans Amazon Redshift ML.

Comment le machine learning peut résoudre un problème

Un modèle de machine learning génère des prédictions en trouvant des modèles dans vos données d'entraînement et en appliquant ensuite ces modèles à de nouvelles données. Dans le machine learning, vous entraînez ces modèles en apprenant les schémas qui expliquent le mieux vos données. Ensuite, vous utilisez les modèles pour élaborer des prédictions (également appelées inférences) sur de nouvelles données. Le machine learning est typiquement un processus itératif où vous pouvez continuer à améliorer la précision des prédictions en changeant les paramètres et en améliorant vos données de formation. Si les données changent, il faut réentraîner de nouveaux modèles avec le nouveau jeu de données.

Pour répondre à divers objectifs métier, il existe différentes approches fondamentales en matière de machine learning.

Apprentissage supervisé dans Amazon Redshift ML

Amazon Redshift prend en charge l'apprentissage supervisé, qui est l'approche la plus courante en matière d'analytique avancée d'entreprise. L'apprentissage supervisé est l'approche privilégiée du machine learning lorsque vous disposez d'un jeu de données établi et que vous comprenez comment des données d'entrée spécifiques prédisent divers résultats métier. Ces résultats sont parfois appelés étiquettes. En particulier, votre jeu de données est une table avec des attributs qui comprennent des caractéristiques (entrées) et des cibles (sorties). Par exemple, supposons que vous ayez une table qui fournit l'âge et le code postal des clients anciens et actuels. Supposons que vous ayez également un champ « active » (actif) qui est défini sur true pour les clients actuels et sur false pour les clients qui ont suspendu leur adhésion. L'objectif du machine learning supervisé est de repérer les modèles d'âge et de code postal menant à la perte de clients, tels que représentés par les clients dont les cibles ont la valeur « False ». Vous pouvez utiliser ce modèle pour prédire les clients susceptibles de se désabonner, par exemple en suspendant leur adhésion, et éventuellement offrir des incitatifs de rétention.

Amazon Redshift prend en charge l'apprentissage supervisé qui inclut la régression, la classification binaire et la classification multiclasse. La régression fait référence au problème de la prédiction de valeurs continues, telles que les dépenses totales des clients. La classification binaire fait référence au problème de la prédiction de l'un des deux résultats, comme la prédiction de la résiliation ou non d'un client. La classification multiclasse fait référence au problème de la prédiction d'un résultat parmi plusieurs, comme la prédiction de l'article qui pourrait intéresser un client. Les analystes et les scientifiques des données peuvent l'utiliser pour effectuer un apprentissage supervisé afin de s'attaquer à des problèmes allant de la prédiction à la personnalisation, en passant par la prédiction du taux de désabonnement des clients. Vous pouvez également utiliser l'apprentissage supervisé pour les problèmes tels que la prédiction des ventes qui seront conclues, la prédiction des revenus, la détection de fraude et la prédiction de la valeur de la durée de vie des clients.

Apprentissage non supervisé dans Amazon Redshift ML

L'apprentissage non supervisé utilise des algorithmes de machine learning pour analyser et regrouper des données de formation non étiquetées. Les algorithmes découvrent des modèles ou des regroupements cachés. L'objectif est de modéliser la structure ou la distribution sous-jacente dans les données pour en savoir plus sur les données.

Amazon Redshift prend en charge l'algorithme de mise en cluster K-Means pour résoudre un problème d'apprentissage non supervisé. Cet algorithme résout les problèmes de mise en cluster lorsque vous souhaitez découvrir des regroupements dans les données. L'algorithme K-Means tente de trouver des regroupements discrets dans les données. Les données non classifiées sont regroupées et partitionnées en fonction de leurs similitudes et de leurs différences. Grâce au regroupement, l'algorithme K-Means détermine de manière itérative les meilleurs centroïdes et affecte chaque membre au centroïde le plus proche. Les membres les plus proches du même centroïde appartiennent au même groupe. Les membres d'un groupe sont aussi semblables que possible des autres membres du même groupe et aussi différents que possible des membres des autres groupes. Par exemple, l'algorithme de mise en cluster K-Means peut être utilisé pour classer les villes touchées par une pandémie ou en fonction de la popularité des produits de consommation.

Lorsque vous utilisez l'algorithme K-Means, vous spécifiez une entrée k qui indique le nombre de clusters à trouver dans les données. La sortie de cet algorithme est un ensemble de centroïdes k. Chaque point de données appartient à l'un des clusters k les plus proches. Chaque cluster est décrit par son centroïde. Le centroïde peut être considéré comme la moyenne multidimensionnelle du cluster. L'algorithme K-Means compare les distances pour voir à quel point les clusters sont différents les uns des autres. Une distance plus grande indique généralement une plus grande différence entre les clusters.

Le prétraitement des données est important pour K-Means, car il garantit que les fonctions du modèle restent à la même échelle et produisent des résultats fiables. Amazon Redshift prend en charge certains préprocesseurs K-Means pour l'instruction CREATE MODEL, tels que StandardScaler, et. MinMax NumericPassthrough Si vous ne souhaitez appliquer aucun prétraitement pour K-means, choisissez-le NumericPassthrough explicitement en tant que transformateur. Pour plus d'informations sur les paramètres K-Means, consultez CREATE MODEL avec les paramètres K-MEANS.

Pour vous aider à apprendre à effectuer une formation non supervisée avec le clustering K-Means, vous pouvez regarder la vidéo suivante.

Termes et concepts pour Amazon Redshift ML

Les termes suivants sont utilisés pour décrire certains concepts d'Amazon Redshift ML :

  • Le machine learning dans Amazon Redshift entraîne un modèle avec une instruction SQL. Amazon Redshift ML et Amazon SageMaker gèrent toutes les conversions de données, les autorisations, l'utilisation des ressources et la découverte du modèle approprié.

  • L'entraînement est la phase où Amazon Redshift crée un modèle de machine learning en exécutant un sous-jeu spécifié de données dans le modèle. Amazon Redshift lance automatiquement une tâche de formation sur Amazon SageMaker et génère un modèle.

  • La prédiction (également appelée inférence) est l'utilisation du modèle dans les requêtes SQL Amazon Redshift pour prédire les résultats. Au moment de l'inférence, Amazon Redshift utilise une fonction de prédiction basée sur un modèle dans le cadre d'une requête plus vaste pour produire des prédictions. Les prédictions sont calculées localement, au niveau du cluster Redshift, offrant ainsi un débit élevé, une faible latence et aucuns frais.

  • Avec Bring your own model (BYOM), vous pouvez utiliser un modèle formé en dehors d'Amazon Redshift avec Amazon pour effectuer des inférences dans la base de données localement dans SageMaker Amazon Redshift. Amazon Redshift ML prend en charge l'utilisation de BYOM dans l'inférence locale.

  • L'inférence locale est utilisée lorsque les modèles sont préentraînés dans Amazon SageMaker, compilés par Amazon SageMaker Neo et localisés dans Amazon Redshift ML. Pour importer des modèles pris en charge pour l'inférence locale dans Amazon Redshift, utilisez l'instruction CREATE MODEL. Amazon Redshift importe les SageMaker modèles préentraînés en appelant Amazon Neo. SageMaker Vous y compilez le modèle et importez le modèle compilé dans Amazon Redshift. Utilisez l'inférence locale pour accélérer la vitesse et réduire les coûts.

  • L'inférence à distance est utilisée lorsqu'Amazon Redshift invoque un point de terminaison modèle déployé dans. SageMaker L'inférence à distance offre la flexibilité d'invoquer tous les types de modèles personnalisés et de modèles d'apprentissage profond, tels que les TensorFlow modèles que vous avez créés et déployés sur Amazon SageMaker.

Les éléments suivants sont également importants :

  • Amazon SageMaker est un service d'apprentissage automatique entièrement géré. Avec Amazon SageMaker, les data scientists et les développeurs peuvent facilement créer, former et déployer directement des modèles dans un environnement hébergé prêt pour la production. Pour plus d'informations sur Amazon SageMaker, consultez What is Amazon SageMaker dans le manuel Amazon SageMaker Developer Guide.

  • Amazon SageMaker Autopilot est un ensemble de fonctionnalités qui entraîne et règle automatiquement les meilleurs modèles d'apprentissage automatique pour la classification ou la régression, en fonction de vos données. Vous conservez le plein contrôle et une visibilité totale. Amazon SageMaker Autopilot prend en charge les données d'entrée au format tabulaire. Amazon SageMaker Autopilot assure le nettoyage et le prétraitement automatiques des données, la sélection automatique d'algorithmes pour la régression linéaire, la classification binaire et la classification multiclasse. Il prend également en charge l'optimisation automatique des hyperparamètres (HPO), l'entraînement distribué, ainsi que les instances automatiques et la sélection de la taille des clusters. Pour plus d'informations sur Amazon SageMaker Autopilot, consultez Automatiser le développement de modèles avec Amazon SageMaker Autopilot dans le manuel Amazon Developer Guide. SageMaker