Scénario de test & Cas d'usage
Aktives Lernen zur Optimierung der Datenkennzeichnung.
Entdecken Sie alle Aktionen von activeLearnErstellt eine sehr große Transaktionstabelle (TRANSAKTIONEN) und eine kleine Beobachtungsliste (BEOBACHTUNGSLISTE).
| 1 | DATA casuser.TRANSAKTIONEN; |
| 2 | DO TransaktionsID = 1 to 1000000; |
| 3 | KontoNummer = 'DE' || put(floor(rand('UNIFORM')*1000), z10.); |
| 4 | Betrag = round(rand('UNIFORM')*10000, .01); |
| 5 | OUTPUT; |
| 6 | END; |
| 7 | RUN; |
| 8 | |
| 9 | DATA casuser.BEOBACHTUNGSLISTE; |
| 10 | LENGTH Grund $20; |
| 11 | INPUT KontoNummer $ Grund $; |
| 12 | CARDS; |
| 13 | DE0000000123 Geldwaesche |
| 14 | DE0000000456 Sanktionen |
| 15 | DE0000000789 Betrugsverdacht |
| 16 | ; |
| 17 | RUN; |
| 1 | PROC CAS; |
| 2 | activeLearn.alJoin / |
| 3 | TABLE={name='TRANSAKTIONEN', caslib='casuser'}, |
| 4 | annotatedTable={name='BEOBACHTUNGSLISTE', caslib='casuser'}, |
| 5 | id='KontoNummer', |
| 6 | joinType='INNER', |
| 7 | logLevel=1, |
| 8 | casOut={name='VERDAECHTIGE_TRANSAKTIONEN', caslib='casuser', replace=true}; |
| 9 | RUN; |
| 10 | QUIT; |
| 1 | PROC CAS; |
| 2 | TABLE.numRows / |
| 3 | TABLE={name='VERDAECHTIGE_TRANSAKTIONEN'}; |
| 4 | RUN; |
| 5 | QUIT; |
Die Ausgabetabelle 'VERDAECHTIGE_TRANSAKTIONEN' enthält nur die Zeilen aus der Transaktionstabelle, deren 'KontoNummer' in der 'BEOBACHTUNGSLISTE' vorhanden ist. Das CAS-Log sollte Start- und Endmeldungen für die `alJoin`-Aktion anzeigen, was die Funktionalität von `logLevel=1` bestätigt. Die Anzahl der Zeilen in der Ausgabetabelle sollte der Anzahl der Transaktionen entsprechen, die von den drei beobachteten Konten getätigt wurden (ungefähr 1000000 / 1000 * 3 = ~3000 Zeilen).