Le composant Prediction applique un modèle entraîné à de nouvelles données et écrit les résultats dans une table de sortie. Utilisez ce composant lorsque votre modèle a été entraîné avec un composant traditionnel d'exploration de données qui ne dispose pas de composant de prédiction associé.
Prérequis
Avant de commencer, assurez-vous de disposer des éléments suivants :
Un modèle entraîné dans Machine Learning Designer
Une table d'entrée contenant les colonnes de caractéristiques attendues par le modèle
Configurer le composant
Méthode 1 : Configuration dans Machine Learning Designer
Dans la console Platform for AI (PAI), sur le canevas du pipeline, sélectionnez le composant Prediction et configurez les paramètres suivants.
Onglet Fields Setting
| Paramètre | Description |
|---|---|
| Feature columns | Colonnes de caractéristiques sélectionnées dans la table d'entrée. Par défaut, toutes les colonnes sont sélectionnées. |
| Reserved columns | Colonnes à conserver dans la table de sortie. Incluez la colonne d'étiquette pour faciliter l'évaluation en aval. |
| Output result column | Colonne de sortie contenant le résultat de prédiction principal. |
| Output score column | Colonne de sortie contenant la probabilité associée au résultat de prédiction principal. |
| Output detail column | Colonne de sortie contenant tous les résultats possibles et leurs probabilités respectives. |
| Sparse matrix | Activez cette option si les données d'entrée sont au format sparse (paires clé-valeur). |
| KV delimiter | Délimiteur entre les clés et les valeurs dans les données sparse. Valeur par défaut : deux-points (:). |
| KV pair delimiter | Délimiteur entre les paires clé-valeur dans les données sparse. Valeur par défaut : virgule (,). |
Onglet Tuning
| Paramètre | Description |
|---|---|
| Cores | Nombre de cœurs. Doit être un entier positif. À utiliser conjointement avec Memory size per core. |
| Memory size per core | Mémoire allouée par cœur, en Mo. À utiliser conjointement avec Cores. |
Méthode 2 : Exécuter une commande PAI
Exécutez la commande suivante à l'aide du composant SQL Script :
pai -name prediction
-DmodelName=nb_model
-DinputTableName=wpbc
-DoutputTableName=wpbc_pred
-DappendColNames=label;
Paramètres
| Paramètre | Obligatoire | Description | Valeur par défaut |
|---|---|---|---|
inputTableName |
Oui | Nom de la table d'entrée. | — |
modelName |
Oui | Nom du modèle entraîné. | — |
outputTableName |
Oui | Nom de la table de sortie. | — |
featureColNames |
Non | Colonnes de caractéristiques de la table d'entrée, séparées par des virgules. | Toutes les colonnes |
appendColNames |
Non | Colonnes d'entrée à ajouter à la table de sortie. | Aucune |
inputTablePartitions |
Non | Partitions à lire depuis la table d'entrée. Formats pris en charge : partition_name=value pour une partition unique, name1=value1/name2=value2 pour des partitions multiniveaux. Séparez plusieurs partitions par des virgules. |
Table complète |
outputTablePartition |
Non | Partition dans laquelle écrire les résultats de la table de sortie. | Aucune |
resultColName |
Non | Colonne de sortie pour le résultat de prédiction principal. | prediction_result |
scoreColName |
Non | Colonne de sortie pour la probabilité du résultat de prédiction principal. | prediction_score |
detailColName |
Non | Colonne de sortie pour tous les résultats possibles et leurs probabilités. | prediction_detail |
enableSparse |
Non | Indique si les données d'entrée sont sparse. Valeurs valides : true, false. |
false |
itemDelimiter |
Non | Délimiteur entre les paires clé-valeur sparse. | , |
kvDelimiter |
Non | Délimiteur entre les clés et les valeurs sparse. | : |
lifecycle |
Non | Cycle de vie de la table de sortie. | Aucune |
coreNum |
Non | Nombre de cœurs. | Alloué automatiquement |
memSizePerCore |
Non | Mémoire par cœur, en Mo. | Alloué automatiquement |
Exemple
Cet exemple construit un classificateur de forêt aléatoire et exécute Prediction sur les mêmes données.
-
Créez la table d'entrée de test :
create table pai_rf_test_input as select * from ( select 1 as f0,2 as f1, "good" as class union all select 1 as f0,3 as f1, "good" as class union all select 1 as f0,4 as f1, "bad" as class union all select 0 as f0,3 as f1, "good" as class union all select 0 as f0,4 as f1, "bad" as class )tmp; -
Entraînez le modèle à l'aide de l'algorithme de forêt aléatoire :
PAI -name randomforests -project algo_public -DinputTableName="pai_rf_test_input" -DmodelName="pai_rf_test_model" -DforceCategorical="f1" -DlabelColName="class" -DfeatureColNames="f0,f1" -DmaxRecordSize="100000" -DminNumPer="0" -DminNumObj="2" -DtreeNum="3"; -
Exécutez Prediction sur le modèle entraîné :
PAI -name prediction -project algo_public -DinputTableName=pai_rf_test_input -DmodelName=pai_rf_test_model -DresultColName=prediction_result -DscoreColName=prediction_score -DdetailColName=prediction_detail -DoutputTableName=pai_temp_2283_76333_1 -
Consultez la table de sortie
pai_temp_2283_76333_1:
La table de sortie contient trois colonnes :
prediction_result: le résultat de prédiction principal (la classe ayant la probabilité la plus élevée). Dans cet exemple, la valeur estgoodoubad.prediction_score: la probabilité du résultat de prédiction principal. Dans cet exemple, le résultat de prédiction peut être good ou bad, selon la probabilité la plus élevée ;prediction_scorecontient les probabilités les plus élevées.prediction_detail: tous les résultats possibles et leurs probabilités.