Scénario de test & Cas d'usage
Training klassischer künstlicher neuronaler Netze.
Entdecken Sie alle Aktionen von neuralNetErstellt eine große Tabelle 'transaktionen' mit 20 Eingabevariablen (v1-v20), einer Transaktions-ID und einer binären Zielvariable 'is_fraud'.
| 1 | DATA casuser.transaktionen; |
| 2 | array v{20}; |
| 3 | DO trans_id = 1 to 10000; |
| 4 | DO i = 1 to 20; |
| 5 | v{i} = rand('NORMAL'); |
| 6 | END; |
| 7 | is_fraud = (v1 > 1.5 and v10 < -1.5 and rand('UNIFORM') < 0.8); |
| 8 | OUTPUT; |
| 9 | END; |
| 10 | RUN; |
| 1 | PROC CAS; |
| 2 | neuralNet.annTrain / |
| 3 | TABLE={name='transaktionen'}, |
| 4 | target='is_fraud', |
| 5 | inputs={'v1', 'v2', 'v3', 'v4', 'v5', 'v6', 'v7', 'v8', 'v9', 'v10', 'v11', 'v12', 'v13', 'v14', 'v15', 'v16', 'v17', 'v18', 'v19', 'v20'}, |
| 6 | arch='MLP', |
| 7 | hiddens={10, 5}, |
| 8 | modelOut={name='betrugs_deep_modell', replace=true}; |
| 9 | RUN; |
| 10 | QUIT; |
| 1 | PROC CAS; |
| 2 | neuralNet.annScore / |
| 3 | TABLE={name='transaktionen'}, |
| 4 | modelTable={name='betrugs_deep_modell'}, |
| 5 | copyVars={'trans_id', 'is_fraud'}, |
| 6 | listNode='HIDDEN', |
| 7 | casOut={name='betrugs_merkmale', replace=true}; |
| 8 | RUN; |
| 9 | QUIT; |
Die Ausgabetabelle 'betrugs_merkmale' wird erstellt. Sie enthält die 'trans_id', das ursprüngliche 'is_fraud'-Label, die finale Vorhersage des Modells und 15 zusätzliche Spalten (10 für die erste verborgene Schicht, 5 für die zweite). Diese neuen Spalten (mit Namen wie '_H1_1_', '_H2_1_' usw.) repräsentieren die Ausgabewerte jedes Neurons in den verborgenen Schichten. Diese können nun als hochinformative, abgeleitete Merkmale für andere Machine-Learning-Algorithmen verwendet werden und validieren die Fähigkeit von `annScore` zur Merkmalsextraktion.