Effectuez des analyses avancées à l'aide d'Amazon Redshift ML - Recommandations AWS

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.

Effectuez des analyses avancées à l'aide d'Amazon Redshift ML

Créée par Po Hong (AWS) et Chyanna Antonio (AWS)

Environnement : PoC ou pilote

Technologies : analyse, apprentissage automatique et intelligence artificielle

Charge de travail : toutes les autres charges de travail

Services AWS : Amazon Redshift ; Amazon SageMaker

Récapitulatif

Sur le cloud Amazon Web Services (AWS), vous pouvez utiliser l'apprentissage automatique Amazon Redshift (Amazon Redshift ML) pour effectuer des analyses de machine learning sur les données stockées dans un cluster Amazon Redshift ou sur Amazon Simple Storage Service (Amazon S3). Amazon Redshift ML prend en charge l'apprentissage supervisé, qui est généralement utilisé pour des analyses avancées. Les cas d'utilisation d'Amazon Redshift ML incluent les prévisions de revenus, la détection des fraudes par carte de crédit, la valeur à vie du client (CLV) ou les prévisions de désabonnement des clients.

Amazon Redshift ML permet aux utilisateurs de bases de données de créer, d'entraîner et de déployer facilement des modèles de ML à l'aide de commandes SQL standard. Amazon Redshift ML utilise Amazon SageMaker Autopilot pour entraîner et ajuster automatiquement les meilleurs modèles de ML à des fins de classification ou de régression en fonction de vos données, tout en conservant le contrôle et la visibilité.

Toutes les interactions entre Amazon Redshift, Amazon S3 et Amazon SageMaker sont supprimées et automatisées. Une fois le modèle ML formé et déployé, il devient disponible en tant que fonction définie par l'utilisateur (UDF) dans Amazon Redshift et peut être utilisé dans les requêtes SQL.  

Ce modèle complète les modèles de création, d'entraînement et de déploiement de modèles de machine learning dans Amazon Redshift en utilisant SQL avec Amazon Redshift ML du blog AWS, ainsi que le didacticiel sur la création, l'entraînement et le déploiement d'un modèle de machine learning avec SageMaker Amazon du Getting Started Resource Center.

Conditions préalables et limitations

Prérequis

  • Un compte AWS actif

  • Données existantes dans une table Amazon Redshift

Compétences

  • Connaissance des termes et concepts utilisés par Amazon Redshift ML, notamment l'apprentissage automatique, la formation et les prédictions. Pour plus d'informations à ce sujet, consultez la section Training ML models dans la documentation Amazon Machine Learning (Amazon ML).

  • Expérience de la configuration utilisateur d'Amazon Redshift, de la gestion des accès et de la syntaxe SQL standard. Pour plus d'informations à ce sujet, consultez Getting started with Amazon Redshift dans la documentation Amazon Redshift.

  • Connaissance et expérience d'Amazon S3 et d'AWS Identity and Access Management (IAM). 

  • L'expérience de l'exécution de commandes dans l'interface de ligne de commande AWS (AWS CLI) est également utile, mais elle n'est pas obligatoire.

Limites

  • Le cluster Amazon Redshift et le compartiment S3 doivent être situés dans la même région AWS.

  • L'approche de ce modèle ne prend en charge que les modèles d'apprentissage supervisé tels que la régression, la classification binaire et la classification multiclasse. 

Architecture

Le flux de travail montre comment Amazon Redshift ML fonctionne SageMaker pour créer, former et déployer un modèle de machine learning.

Les étapes suivantes expliquent comment Amazon Redshift ML fonctionne SageMaker pour créer, entraîner et déployer un modèle de machine learning : 

  1. Amazon Redshift exporte les données d'entraînement vers un compartiment S3.

  2. SageMaker Le pilote automatique prétraite automatiquement les données d'entraînement.

  3. Une fois l'CREATE MODELinstruction invoquée, Amazon Redshift ML l'utilise SageMaker pour l'entraînement.

  4. SageMaker Le pilote automatique recherche et recommande l'algorithme ML et les hyperparamètres optimaux qui optimisent les métriques d'évaluation.

  5. Amazon Redshift ML enregistre le modèle ML de sortie en tant que fonction SQL dans le cluster Amazon Redshift.

  6. La fonction du modèle ML peut être utilisée dans une instruction SQL. 

Pile technologique

  • Amazon Redshift

  • SageMaker

  • Amazon S3

Outils

  • Amazon Redshift — Amazon Redshift est un service d'entreposage de données entièrement géré au niveau de l'entreprise, à l'échelle du pétaoctet.

  • Amazon Redshift ML — Amazon Redshift Machine Learning (Amazon Redshift ML) est un service robuste basé sur le cloud qui permet aux analystes et aux data scientists de tous niveaux de compétence d'utiliser facilement la technologie ML.

  • Amazon S3 — Amazon Simple Storage Service (Amazon S3) est un service de stockage pour Internet. 

  • Amazon SageMaker — SageMaker est un service de machine learning entièrement géré. 

  • Amazon SageMaker Autopilot — Le SageMaker pilote automatique est un ensemble de fonctionnalités qui automatise les tâches clés d'un processus d'apprentissage automatique (AutoML).

Code

Vous pouvez créer un modèle de machine learning supervisé dans Amazon Redshift à l'aide du code suivant :

“CREATE MODEL customer_churn_auto_model FROM (SELECT state, account_length, area_code, total_charge/account_length AS average_daily_spend, cust_serv_calls/account_length AS average_daily_cases, churn FROM customer_activity WHERE record_date < '2020-01-01' ) TARGET churn FUNCTION ml_fn_customer_churn_auto IAM_ROLE 'arn:aws:iam::XXXXXXXXXXXX:role/Redshift-ML' SETTINGS ( S3_BUCKET 'your-bucket' );”)

Remarque : L'SELECTétat peut faire référence aux tables standard Amazon Redshift, aux tables externes Amazon Redshift Spectrum, ou aux deux.

Épopées

TâcheDescriptionCompétences requises

Préparez un ensemble de données de formation et de test.

Connectez-vous à l'AWS Management Console et ouvrez la SageMaker console Amazon. Suivez les instructions du didacticiel sur la création, l'entraînement et le déploiement d'un modèle d'apprentissage automatique pour créer un fichier .csv ou Apache Parquet comportant une colonne d'étiquette (formation supervisée) et aucun en-tête. 

Remarque : nous vous recommandons de mélanger et de diviser le jeu de données brut en un ensemble d'apprentissage pour l'entraînement du modèle (70 %) et un ensemble de test pour l'évaluation des performances du modèle (30 %).

Spécialiste des données
TâcheDescriptionCompétences requises

Créez et configurez un cluster Amazon Redshift.

Sur la console Amazon Redshift, créez un cluster en fonction de vos besoins. Pour plus d'informations à ce sujet, consultez la section Créer un cluster dans la documentation Amazon Redshift.  

Important : les clusters Amazon Redshift doivent être créés avec le suivi de SQL_PREVIEW maintenance. Pour plus d'informations sur les pistes de prévisualisation, consultez Choisir les pistes de maintenance du cluster dans la documentation Amazon Redshift.

DBA, architecte cloud

Créez un compartiment S3 pour stocker les données d'entraînement et les artefacts du modèle.

Sur la console Amazon S3, créez un compartiment S3 pour les données d'entraînement et de test. Pour plus d'informations sur la création d'un compartiment S3, consultez Créer un compartiment S3 à partir d'AWS Quick Starts. 

Important : assurez-vous que votre cluster Amazon Redshift et votre compartiment S3 se trouvent dans la même région. 

DBA, architecte cloud

Créez et associez une politique IAM au cluster Amazon Redshift.

Créez une politique IAM pour autoriser le cluster Amazon Redshift à SageMaker accéder à Amazon S3. Pour obtenir des instructions et des étapes, consultez la section Configuration du cluster pour l'utilisation d'Amazon Redshift ML dans la documentation Amazon Redshift.

DBA, architecte cloud

Autorisez les utilisateurs et les groupes Amazon Redshift à accéder aux schémas et aux tables.

Accordez des autorisations pour permettre aux utilisateurs et aux groupes d'Amazon Redshift d'accéder aux schémas et aux tables internes et externes. Pour connaître les étapes et les instructions, consultez la section Gestion des autorisations et de la propriété dans la documentation Amazon Redshift.

DBA
TâcheDescriptionCompétences requises

Créez et entraînez le modèle ML dans Amazon Redshift.

Créez et entraînez votre modèle de machine learning dans Amazon Redshift ML. Pour plus d'informations, consultez la CREATE MODEL déclaration contenue dans la documentation Amazon Redshift.

Développeur, data scientist
TâcheDescriptionCompétences requises

Effectuez une inférence à l'aide de la fonction de modèle ML générée.

Pour plus d'informations sur l'inférence à l'aide de la fonction de modèle ML générée, consultez la section Prediction dans la documentation Amazon Redshift.

Data scientist, utilisateur de business intelligence

Ressources connexes

Préparer un ensemble de données de formation et de test

Préparation et configuration de la pile technologique

Créez et entraînez le modèle ML dans Amazon Redshift

Effectuer des inférences et des prédictions par lots dans Amazon Redshift

Autres ressources