activeLearn

alJoin

Descripción

La acción `alJoin` del conjunto de acciones `activeLearn` se utiliza para unir una tabla de datos principal con una tabla de anotaciones. Esta operación es fundamental en los flujos de trabajo de aprendizaje activo, donde los datos recién etiquetados (anotaciones) deben reintegrarse con el conjunto de datos original para entrenar o reentrenar un modelo. La acción soporta varios tipos de uniones (izquierda, derecha, interna, completa, etc.) para controlar cómo se combinan las filas de ambas tablas.

activeLearn.alJoin { annotatedTable={table-reference}, casOut={table-reference}, id="string", joinType="APPEND"|"FULL"|"INNER"|"LEFT"|"RIGHT", logLevel=64-bit-integer, table={table-reference} }
Parámetros
ParámetroDescripción
annotatedTableEspecifica la tabla en memoria que contiene los datos de anotación para la operación de unión. A menudo se considera la tabla 'derecha' en la unión.
casOutEspecifica la tabla de salida donde se almacenarán los resultados de la unión.
idEspecifica la columna de identificador única que se utilizará para unir la tabla de datos y la tabla de anotaciones.
joinTypeEspecifica cómo se unen las tablas. Los valores posibles son 'APPEND', 'FULL', 'INNER', 'LEFT' (predeterminado) y 'RIGHT'.
logLevelEspecifica el nivel de detalle de los mensajes de progreso. 0 (sin mensajes), 1 (mensajes de inicio/fin), 2 (historial de iteraciones).
tableEspecifica la tabla de datos principal en memoria para la operación de unión. A menudo se considera la tabla 'izquierda'.
Creación de Datos de Ejemplo

Se crean dos tablas: 'CARS_DATA' que contiene los datos principales de los coches, y 'CARS_ANNOTATIONS' que contiene etiquetas adicionales (anotaciones) para un subconjunto de esos coches. Ambas tablas comparten una columna 'ID' para la unión.

¡Copiado!
1DATA casuser.CARS_DATA;
2 LENGTH ID $ 10;
3 INPUT ID $ Make $ Model $ Type $;
4 DATALINES;
5ID001 Audi A4 Sedan
6ID002 BMW X5 SUV
7ID003 Mercedes C-Class Sedan
8ID004 Toyota Camry Sedan
9ID005 Honda CR-V SUV
10;
11RUN;
12 
13DATA casuser.CARS_ANNOTATIONS;
14 LENGTH ID $ 10;
15 INPUT ID $ IsLabeled 1.;
16 DATALINES;
17ID002 1
18ID005 1
19;
20RUN;

Ejemplos

Este ejemplo realiza una unión izquierda ('LEFT JOIN') entre la tabla de datos principal 'CARS_DATA' y la tabla de anotaciones 'CARS_ANNOTATIONS'. Todas las filas de la tabla de datos se conservan, y las anotaciones correspondientes se añaden donde exista una coincidencia en la columna 'ID'.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1PROC CAS;
2 activeLearn.alJoin /
3 TABLE={name='CARS_DATA'},
4 annotatedTable={name='CARS_ANNOTATIONS'},
5 id='ID',
6 joinType='LEFT',
7 casOut={name='CARS_JOINED_LEFT', replace=true};
8RUN;
Resultado :
Una nueva tabla CAS 'CARS_JOINED_LEFT' es creada. Contendrá todas las filas de 'CARS_DATA'. Las filas con ID 'ID002' y 'ID005' tendrán el valor 'IsLabeled' de 1, mientras que las otras tendrán un valor faltante para esa columna.

Este ejemplo realiza una unión interna ('INNER JOIN'). Solo las filas que tienen un 'ID' coincidente en ambas tablas, 'CARS_DATA' y 'CARS_ANNOTATIONS', se incluirán en la tabla de salida. Esto es útil para crear un conjunto de datos que solo contenga las observaciones que han sido explícitamente etiquetadas.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1PROC CAS;
2 activeLearn.alJoin /
3 TABLE={name='CARS_DATA', caslib='casuser'},
4 annotatedTable={name='CARS_ANNOTATIONS', caslib='casuser'},
5 id='ID',
6 joinType='INNER',
7 casOut={name='CARS_JOINED_INNER', caslib='casuser', replace=true};
8RUN;
Resultado :
Se crea una tabla de salida 'CARS_JOINED_INNER' en la caslib 'casuser'. Esta tabla contendrá solo dos filas, correspondientes a 'ID002' (BMW X5) y 'ID005' (Honda CR-V), ya que son las únicas presentes en ambas tablas de entrada.

FAQ

¿Cuál es el propósito de la acción alJoin?
¿Qué parámetro se usa para especificar la tabla de datos principal?
¿Cómo especifico la tabla que contiene las anotaciones?
¿Qué parámetro se usa para definir la tabla de salida?
¿Cómo se especifica la columna de identificación para la unión?
¿Qué tipos de unión (join) están disponibles?

Escenarios asociados

Caso de uso
Análisis de Sentimiento de Comentarios de Clientes para Entrenamiento de Modelo

Un equipo de marketing necesita preparar un conjunto de datos para entrenar un modelo de análisis de sentimiento. Tienen una tabla principal con todos los comentarios de los cli...

Caso de uso
Conciliación de Datos de Sensores IoT con Registros de Mantenimiento Incompletos

Una planta industrial monitoriza sus máquinas con sensores. Los datos de los sensores se guardan en una tabla ('DATOS_SENSORES') y las intervenciones de mantenimiento se registr...

Caso de uso
Anexión Eficiente de Lotes de Anotaciones a un Gran Volumen de Datos

En un proyecto de etiquetado de imágenes a gran escala, los datos se etiquetan en lotes. En lugar de realizar una unión costosa basada en claves cada vez que llega un nuevo lote...