dlJoin
Description
Joint la table de données et la table d'annotations. Idéal pour fusionner vos images avec leurs étiquettes avant d'entraîner 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). 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.. Comme on dit, l'union fait la force !
Paramètres Clés
| Nom du paramètre | Description |
|---|---|
| annotatedTable | Spécifie le nom de la table en mémoire qui contient les données d'annotation (la table de droite) pour l'opération de jointure. |
| casOut | Spécifie le nom de la nouvelle table de sortie qui contiendra les résultats de la jointure des tables. |
| id | Spécifie la colonne identifiant qui est utilisée pour faire la correspondance et joindre la table de données et la table d'annotations. |
| joinType | Spécifie comment les tables sont jointes. Les choix possibles sont APPEND, FULL, INNER, LEFT et RIGHT. La valeur par défaut est LEFT. |
| logLevel | Spécifie le niveau de détail des messages de progression envoyés au client (0 à 3). 0 indique qu'aucun message n'est envoyé, 2 ajoute l'historique des itérations. |
| nThreads | Spécifie le nombre de threads à utiliser pour l'opération. |
| table | Spécifie le nom de la table en mémoire qui contient les données principales (la table de gauche) pour l'opération de jointure. |
Préparation des données
Création des tables de test
Créons une petite table de données simulant des images et une table d'annotations simulant des étiquettes pour illustrer la jointure. Un jeu d'enfant !
| 1 | DATA mes_donnees; |
| 2 | id = 1; image_path = "img1.jpg"; OUTPUT; |
| 3 | id = 2; image_path = "img2.jpg"; OUTPUT; |
| 4 | id = 3; image_path = "img3.jpg"; OUTPUT; |
| 5 | RUN; |
| 6 | DATA mes_annotations; |
| 7 | id = 1; label = "chat"; OUTPUT; |
| 8 | id = 2; label = "chien"; OUTPUT; |
| 9 | RUN; |
| 10 | PROC CASUTIL; |
| 11 | load DATA=work.mes_donnees casout="mes_donnees" replace; |
| 12 | load DATA=work.mes_annotations casout="mes_annotations" replace; |
| 13 | QUIT; |
Exemples d'utilisation
Jointure gauche basique
Un petit exemple classique pour lier nos données à leurs étiquettes avec une jointure gauche (LEFT join).
| 1 | PROC CAS; |
| 2 | DEEPLEARN.dlJoin / |
| 3 | TABLE={name="mes_donnees"} |
| 4 | annotatedTable={name="mes_annotations"} |
| 5 | id="id" |
| 6 | joinType="LEFT" |
| 7 | casOut={name="donnees_jointes", replace=true}; |
| 8 | RUN; |
| 9 | QUIT; |
Résultat Attendu :
Jointure interne (INNER) avec paramètres avancés
Soyons un peu plus stricts et conservons uniquement les enregistrements ayant une correspondance dans les deux tables, tout en utilisant la compression pour la table de sortie.
| 1 | PROC CAS; |
| 2 | DEEPLEARN.dlJoin / |
| 3 | TABLE={name="mes_donnees", caslib="casuser"} |
| 4 | annotatedTable={name="mes_annotations", caslib="casuser"} |
| 5 | id="id" |
| 6 | joinType="INNER" |
| 7 | logLevel=2 |
| 8 | casOut={name="donnees_jointes_inner", caslib="casuser", replace=true, compress=true}; |
| 9 | RUN; |
| 10 | QUIT; |