dlLabelTarget
Description
L'action dlLabelTarget permet d'assigner des informations d'étiquettes cibles (target labels) à un modèleReprésentation mathématique entraînée sur des données pour capturer des tendances, prédire des résultats ou classifier des observations via des algorithmes (Régression, Forêt aléatoire, Gradient Boosting). d'apprentissage profondL'apprentissage profond (Deep Learning) est une branche de l'IA utilisant des réseaux de neurones multicouches pour modéliser des données complexes et automatiser l'extraction de caractéristiques. (Deep LearningSous-ensemble du Machine Learning basé sur des réseaux de neurones artificiels profonds. Il excelle dans l'extraction automatique de motifs complexes depuis des données brutes (images, texte, son).). Concrètement, au lieu d'avoir un modèleReprésentation mathématique entraînée sur des données pour capturer des tendances, prédire des résultats ou classifier des observations via des algorithmes (Régression, Forêt aléatoire, Gradient Boosting). qui prédit de simples indices numériques cryptiques (0, 1, 2...), cette action attache une table de correspondance aux poids de votre modèleReprésentation mathématique entraînée sur des données pour capturer des tendances, prédire des résultats ou classifier des observations via des algorithmes (Régression, Forêt aléatoire, Gradient Boosting).. Ainsi, lors de l'évaluation (scoringProcessus d'application d'un modèle prédictif à de nouvelles données pour calculer une probabilité ou un score, permettant ainsi d'automatiser la prise de décision en temps réel sur SAS Viya.), votre modèleReprésentation mathématique entraînée sur des données pour capturer des tendances, prédire des résultats ou classifier des observations via des algorithmes (Régression, Forêt aléatoire, Gradient Boosting). pourra sortir des classes intelligibles comme 'Chien', 'Chat' ou 'Voiture'. Une touche indispensable pour rendre vos prédictions humainement lisibles !
Paramètres Clés
| Nom du paramètre | Description |
|---|---|
| initWeights | Spécifie la table en mémoire contenant les poids actuels du modèle avant l'assignation des étiquettes. |
| labelTable | Table contenant les étiquettes cibles. Attention : la première colonne DOIT être un index numérique (qui commence à 0) et la seconde DOIT être une variable de type caractère à longueur fixe. |
| modelTable | Spécifie la table en mémoire représentant l'architecture du modèle d'apprentissage profond. |
| modelWeights | Spécifie la table en mémoire de sortie qui va stocker les nouveaux poids du modèle, incluant dorénavant les étiquettes cibles. |
| nThreads | Spécifie le nombre de threads (fils d'exécution) à utiliser pour exécuter l'action. La valeur minimale est 0. |
Préparation des données
Création d'une table d'étiquettes (Label Table)
Avant d'attacher des étiquettes à un modèle, il faut créer la table de correspondance. L'index doit obligatoirement commencer par 0.
| 1 | PROC CAS; |
| 2 | /* Création d'une table avec un index numérique et un nom de classe */ |
| 3 | tbl = newtable("mes_etiquettes", {"Index", "Classe"}, {"double", "varchar"}, {{0, "Chat"}, {1, "Chien"}, {2, "Cheval"}}); |
| 4 | TABLE.addtable / TABLE="mes_etiquettes" replace=true DATA=tbl; |
| 5 | RUN; |
Exemples d'utilisation
Association simple d'étiquettes à un modèle existant
Cet exemple prend un modèle pré-entraîné et lui attache les étiquettes cibles pour le rendre plus bavard lors du scoring.
| 1 | PROC CAS; |
| 2 | DEEPLEARN.dlLabelTarget / |
| 3 | initWeights={name="poids_sans_labels"} |
| 4 | labelTable={name="mes_etiquettes"} |
| 5 | modelTable={name="mon_modele_cnn"} |
| 6 | modelWeights={name="poids_avec_labels", replace=true}; |
| 7 | RUN; |
Résultat Attendu :
Assignation avancée avec gestion des CASLibs et threads
Cet exemple montre comment appliquer des étiquettes en ciblant des tables dans des librairies spécifiques (CASLibs) et en promouvant la table de sortie en mémoire globale, tout en forçant l'usage de 4 threads.
| 1 | PROC CAS; |
| 2 | DEEPLEARN.dlLabelTarget / |
| 3 | initWeights={name="weights_resnet50", caslib="public"} |
| 4 | labelTable={name="imagenet_labels", caslib="public"} |
| 5 | modelTable={name="model_resnet50", caslib="public"} |
| 6 | modelWeights={name="weights_resnet50_labeled", caslib="casuser", promote=true, replace=true} |
| 7 | nThreads=4; |
| 8 | RUN; |