neuralNet annScore

Fortgeschrittener Fall: Feature Engineering für die Betrugserkennung

Scénario de test & Cas d'usage

Geschäftskontext

Eine Finanzinstitution verwendet ein Deep-Learning-Modell zur Betrugserkennung. Um die Leistung nachgelagerter, einfacherer Modelle (z.B. Gradient Boosting) zu verbessern, sollen die Aktivierungen der verborgenen Schichten des neuronalen Netzes als neue, konstruierte Merkmale extrahiert werden. Dies dient als eine Form der Dimensionsreduktion und Merkmalsextraktion.
Über das Set : neuralNet

Training klassischer künstlicher neuronaler Netze.

Entdecken Sie alle Aktionen von neuralNet
Datenaufbereitung

Erstellt eine große Tabelle 'transaktionen' mit 20 Eingabevariablen (v1-v20), einer Transaktions-ID und einer binären Zielvariable 'is_fraud'.

Kopiert!
1DATA 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;
10RUN;

Étapes de réalisation

1
Trainieren eines tieferen neuronalen Netzwerkmodells (2 verborgene Schichten) für die Betrugserkennung.
Kopiert!
1PROC 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};
9RUN;
10QUIT;
2
Bewerten der Transaktionsdaten, um die Aktivierungen der verborgenen Knoten als neue Merkmale zu extrahieren. Die Transaktions-ID und das ursprüngliche Betrugslabel werden beibehalten.
Kopiert!
1PROC 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};
8RUN;
9QUIT;

Erwartetes Ergebnis


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.