Machine Learning Designer met à votre disposition une riche bibliothèque de composants permettant de construire et de déboguer des modèles de manière visuelle. L'exemple suivant s'appuie sur un modèle de prédiction des maladies cardiaques pour vous guider étape par étape dans la construction et le débogage d'un pipeline Designer.
Prérequis
Vous avez créé un pipeline.
Construire un modèle
Un modèle se compose de plusieurs tâches granulaires, représentées sous forme de nœuds (composants) et organisées au sein d'un pipeline. Avant de commencer la construction, planifiez votre modèle en le décomposant en tâches plus petites. Chaque nœud doit exécuter une tâche simple et unique. La procédure générale est la suivante :
-
Dans la liste des composants située à gauche, repérez le composant souhaité et faites-le glisser vers le canevas.
Les composants affichant une icône violette dans la liste sont des composants Alink, tels que le composant Read CSV File. Outre leurs fonctionnalités standard, les composants Alink peuvent être regroupés. La configuration des ressources pour un groupe améliore l'efficacité d'exécution et l'utilisation des ressources. Pour plus d'informations, reportez-vous à la section Composants Alink.
Cliquez sur un nœud cible pour configurer ses paramètres dans le volet de droite.
-
Reliez les nœuds entre eux afin d'organiser le pipeline et d'établir des relations amont/aval.
Chaque nœud dispose d'un ou plusieurs ports d'entrée ou de sortie. Survolez un port pour afficher son type de données, ce qui vous aide à connecter correctement les nœuds.
Lors de l'exécution du modèle, les nœuds amont s'exécutent en premier. Un nœud aval ne démarre qu'une fois que tous ses nœuds amont ont été exécutés avec succès.
La construction d'un modèle comprend généralement les étapes suivantes :
Lire les données
Ajoutez un composant Source/Destination à votre pipeline pour lire les données depuis des sources telles que MaxCompute et Object Storage Service (OSS). Pour plus d'informations, reportez-vous à la documentation des composants spécifiques dans la section Référence des composants : Source/Destination. Cet exemple lit les données depuis MaxCompute.
-
Créez une table dans MaxCompute et importez vos données. Pour plus d'informations, consultez la page Créer et utiliser des tables MaxCompute.
Cet exemple crée une table nommée
heartdiseasedans le projettestet importe des données de test.-- Create a table. CREATE TABLE IF NOT EXISTS heartdisease( age STRING COMMENT 'The age of the patient.', sex STRING COMMENT 'The gender of the patient. Valid values: female or male.', cp STRING COMMENT 'The type of chest pain. Valid values (from most severe to least severe): typical, atypical, non-anginal, and asymptomatic.', trestbps STRING COMMENT 'Resting blood pressure.', chol STRING COMMENT 'Serum cholesterol.', fbs STRING COMMENT 'Fasting blood sugar. If the value is greater than 120 mg/dl, the value is true. Otherwise, the value is false.', restecg STRING COMMENT 'Resting electrocardiographic results. Valid values (from least severe to most severe): norm and hyp.', thalach STRING COMMENT 'The maximum heart rate achieved.', exang STRING COMMENT 'Indicates whether the patient has exercise-induced angina. true indicates yes, and false indicates no.', oldpeak STRING COMMENT 'ST depression induced by exercise relative to rest (the ST segment depression value).', slop STRING COMMENT 'The slope of the peak exercise ST segment. Valid values: down, flat, and up.', ca STRING COMMENT 'The number of major vessels found by fluoroscopy.', thal STRING COMMENT 'The type of defect. Valid values (from least severe to most severe): norm, fix, and rev.', `status` STRING COMMENT 'Indicates whether the patient has the disease. buff indicates healthy and sick indicates diseased.', style STRING); -- For demonstration purposes, this example directly imports public test data from PAI. INSERT INTO heartdisease select * from pai_online_project.heart_disease_prediction; -
Faites glisser le composant Read Table vers le canevas pour lire les données depuis la table MaxCompute.
Un nœud nommé Read Table-1 est automatiquement créé sur le canevas. Le numéro s'incrémente selon l'ordre d'ajout des composants du même type, en commençant par 1.
-
Dans le volet de configuration du nœud, définissez le nom de la table source. Pour plus d'informations sur les paramètres, consultez la page Read Table.
Sur le canevas, sélectionnez le nœud Read Table-1 . Dans le volet de configuration de droite, saisissez le nom de la table MaxCompute correspondante dans le champ Table Name . Pour cet exemple, saisissez
heartdisease.RemarqueLorsque vous lisez des données de table entre différents projets MaxCompute, le nom de la table doit respecter le format
project_name.table_name(par exemple, test2.heartdisease) et vous devez disposer des autorisations nécessaires pour le projet. Dans le volet de configuration de droite, basculez vers l'onglet Fields Information pour afficher les détails des champs de cet ensemble de données public.
Prétraitement des données
Après avoir lu les données, prétraitez-les afin de répondre aux exigences d'entrée pour l'entraînement ou la prédiction du modèle. Machine Learning Designer propose une riche gamme de composants de prétraitement des données et de traitement des données pour grands modèles .
Dans cet exemple, l'étape de prétraitement des données utilise successivement quatre composants : SQL Script, Type Conversion, Normalization et Split. Ces composants sont placés entre les composants Read Table et logistic regression for binary classification.
Vous pouvez également utiliser le composant script SQL pour écrire des scripts SQL personnalisés adaptés à vos fonctionnalités. Par exemple, le script suivant convertit les types de données des fonctionnalités d'entrée :
select age,
(case sex when 'male' then 1 else 0 end) as sex,
(case cp when 'angina' then 0 when 'notang' then 1 else 2 end) as cp,
trestbps,
chol,
(case fbs when 'true' then 1 else 0 end) as fbs,
(case restecg when 'norm' then 0 when 'abn' then 1 else 2 end) as restecg,
thalach,
(case exang when 'true' then 1 else 0 end) as exang,
oldpeak,
(case slop when 'up' then 0 when 'flat' then 1 else 2 end) as slop,
ca,
(case thal when 'norm' then 0 when 'fix' then 1 else 2 end) as thal,
(case status when 'sick' then 1 else 0 end) as ifHealth
from ${t1};
Entraînement du modèle
Un composant de modèle reçoit les données prétraitées des composants amont et transmet sa sortie aux composants aval, tels que les composants de prédiction ou d'inférence. Chaque composant peut disposer d'un ou plusieurs ports d'entrée et de sortie. Survolez un port pour afficher son type de données et garantir des connexions correctes.
Par exemple, le composant régression logistique pour la classification binaire possède deux ports de sortie :
Logistic Regression Model : cette sortie sert d'entrée de modèle pour des composants tels que la prédiction.
PMML : le déploiement de modèle s'appuie généralement sur des modèles PMML (Predictive Model Markup Language). Par exemple, si vous devez déployer un modèle généré à l'aide d'un processeur intégré (tel que le processeur PMML), vous devez sélectionner Generate PMML dans les paramètres d'un composant prenant en charge la génération de modèle , puis exécuter le composant.
Prédiction ou inférence du modèle
Après avoir entraîné un modèle, connectez des composants de prédiction ou d'inférence pour évaluer les performances du modèle.
Par exemple, le composant prediction possède deux ports d'entrée :
Model Input : accepte le modèle entraîné issu de la section d'entraînement du modèle.
Prediction Data Input : accepte les données de test prétraitées.
Connectez les données de test fractionnées au port d'entrée des données de prédiction du nœud prediction. Connectez le modèle de régression logistique pour la classification binaire au port d'entrée du modèle. Dans le volet de configuration de droite du nœud prediction, définissez les Feature Columns en sélectionnant les fonctionnalités à utiliser pour la prédiction, et configurez les Pass-through Columns. Incluez la colonne d'étiquette pour l'évaluation ultérieure. Définissez Output Result Column Name sur prediction_result , Output Score Column Name sur prediction_score et Output Detail Column Name sur prediction_detail .
Évaluation du modèle
Les composants d'évaluation analysent les performances du modèle en fonction des métriques pertinentes.
Machine Learning Designer propose les composants d'évaluation suivants, que vous pouvez connecter en aval du composant de prédiction selon vos besoins.
Les composants d'évaluation incluent Binary Classification Evaluation, Regression Evaluation, Clustering Evaluation, Confusion Matrix et Multiclass Classification Evaluation. Sur le canevas du pipeline, connectez le nœud d'évaluation requis en aval du nœud prediction et exécutez-le. Cliquez ensuite sur l'icône visualization dans la barre d'outils pour afficher les résultats de l'évaluation.
Déboguer un modèle
Déboguer et exécuter
Pipeline entier : cliquez sur l'icône
(Run) dans le coin supérieur gauche du canevas pour exécuter l'intégralité du pipeline. Pour les pipelines complexes, nous vous recommandons d'exécuter un seul nœud ou un sous-ensemble de nœuds afin de faciliter le débogage.-
Composant unique ou multiple : effectuez un clic droit sur un composant pour exécuter un seul nœud ou une partie du pipeline. Plusieurs options d'exécution sont disponibles.
Les options d'exécution incluent Run This Node, Run from Here, Run to Here, Run from Root to Here et Run Downstream Nodes.
Une icône
apparaît sur un composant dont l'exécution a réussi. En cas d'échec, une icône
s'affiche. Vous pouvez effectuer un clic droit sur le composant pour afficher les journaux et les résultats .
Afficher les journaux et les résultats
-
Une fois qu'un composant a été exécuté avec succès, vous pouvez effectuer un clic droit dessus et sélectionner View Data pour afficher les données de sortie.
Pour certains composants, Machine Learning Designer peut convertir les données en graphiques et diagrammes. Cette visualisation des données complexes et des résultats d'analyse vous aide à identifier rapidement les informations clés, les tendances et les modèles. Vous pouvez également cliquer sur Visual Analysis ou sur l'icône de visualisation en haut du canevas pour effectuer une analyse visuelle. Pour plus d'informations, consultez la page Analyse visuelle .
Afficher les journaux : si l'exécution d'un composant échoue, vous pouvez effectuer un clic droit dessus et sélectionner View Log pour identifier la cause racine de l'échec.
Afficher les tâches en cours d'exécution
Cliquez sur View All Tasks dans le coin supérieur droit du canevas pour afficher toutes les exécutions de tâches historiques. Chaque exécution durant le processus de modélisation est enregistrée en tant que tâche historique, conservant les nœuds impliqués, leurs configurations et leur sortie.
Dans le panneau Historical Tasks qui s'affiche, la colonne Actions de chaque tâche fournit des liens pour Details, Model, version rollback et Share. Cliquez sur Details pour afficher les configurations des nœuds et les résultats de sortie de la tâche.
Sur la page des détails de la tâche, cliquez sur un nœud cible, tel que SQL Script-3, sur le canevas à gauche. Le volet de droite affiche les détails du nœud. Sélectionnez l'onglet Task Log pour afficher le journal d'exécution. Vous pouvez également basculer vers l'onglet Run Information ou Output Results pour afficher leur contenu respectif.
Si vous devez effectuer un retour arrière de version, examinez les détails de la tâche historique pour confirmer que vous revenez à la bonne version. Avant d'effectuer le retour arrière, enregistrez et exécutez votre dernière tâche. Cela crée un enregistrement de l'état actuel auquel vous pourrez revenir si nécessaire.
Rubriques connexes
Après avoir débogué votre modèle, vous pouvez enregistrer le modèle entraîné en tant que nouveau modèle et le gérer. Pour plus d'informations, consultez la page Enregistrer et gérer des modèles .
Après avoir débogué votre modèle, vous pouvez le déployer pour la prédiction en ligne. Pour plus d'informations, consultez la page Prédiction et déploiement de modèles .
Machine Learning Designer propose un composant Update EAS (Beta) pour mettre à jour les services de modèle. Pour plus d'informations, consultez la page Mettre à jour périodiquement les services de modèle en ligne .
Vous pouvez utiliser DataWorks pour planifier des exécutions de pipeline hors ligne et mettre à jour périodiquement les modèles. Pour plus d'informations, consultez la page Utiliser DataWorks pour planifier des pipelines Designer hors ligne .
Pour plus d'informations sur les composants, consultez la page Référence des composants .