alJoin
Description
L'action alJoin permet de joindre la table de données et la table d'annotations . Elle est principalement utilisée dans le processus d'apprentissage actif pour lier les nouvelles étiquettes fournies aux données non étiquetées existantes. Un vrai jeu d'enfant pour organiser vos données !
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 pour l'opération de jointure. |
| casOut | Spécifie le nom de la nouvelle table qui contient les résultats de la jointure. |
| id | Spécifie la colonne servant d'identifiant unique, utilisée pour joindre la table de données et la table d'annotations. |
| joinType | Spécifie le type de jointure entre les tables. 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 (de 0 à 3). La valeur par défaut (0) n'envoie aucun message. |
| table | Spécifie le nom de la table en mémoire qui contient les données principales pour l'opération de jointure. |
Préparation des données
Création des données d'exemple
Ce code crée une table de données brutes et une table contenant quelques annotations pour illustrer la jointure.
| 1 | DATA mycas.donnees; |
| 2 | INPUT id var1 var2; |
| 3 | DATALINES; |
| 4 | 1 10.5 20.1 |
| 5 | 2 15.2 25.4 |
| 6 | 3 20.8 30.9 |
| 7 | 4 25.1 35.5 |
| 8 | ; |
| 9 | RUN; |
| 10 | DATA mycas.annotations; |
| 11 | INPUT id cible $; |
| 12 | DATALINES; |
| 13 | 1 A |
| 14 | 3 B |
| 15 | ; |
| 16 | RUN; |
Exemples d'utilisation
Jointure simple (LEFT join par défaut)
Cet exemple illustre comment effectuer une jointure classique entre les données et les annotations. Les données non annotées auront des valeurs manquantes pour la variable cible.
| 1 | PROC CAS; |
| 2 | activeLearn.alJoin / |
| 3 | TABLE={name="donnees"} |
| 4 | annotatedTable={name="annotations"} |
| 5 | id="id" |
| 6 | casOut={name="donnees_jointes", replace=true}; |
| 7 | RUN; |
| 8 | QUIT; |
Résultat Attendu :
Jointure interne (INNER) avec tous les paramètres optionnels
Dans ce scénario, on ne veut conserver que les données qui ont été annotées (via INNER join). On active également le logLevel à 2 pour afficher l'historique d'itération dans le journal, car il est toujours bon de garder un oeil sur ce que fait la machine %%https://go.documentation.sas.com/doc/en/pgmsascdc/v_069/casactml/cas-activelearn-aljoin.htm#SAS.cas-activelearn-aljoin-loglevel%% !
| 1 | PROC CAS; |
| 2 | activeLearn.alJoin / |
| 3 | TABLE={name="donnees", caslib="casuser"} |
| 4 | annotatedTable={name="annotations", caslib="casuser"} |
| 5 | id="id" |
| 6 | joinType="INNER" |
| 7 | logLevel=2 |
| 8 | casOut={name="donnees_annotees_uniquement", replace=true}; |
| 9 | RUN; |
| 10 | QUIT; |