bart bartProbit

Leistungstest: Training auf einem großen Datensatz zur Betrugserkennung im verteilten Modus

Scénario de test & Cas d'usage

Geschäftskontext

Ein Finanzinstitut muss ein Modell zur Betrugserkennung in Echtzeit trainieren. Der Datensatz ist sehr groß und enthält Millionen von Transaktionen. Die Herausforderung besteht darin, das Modelltraining in einer angemessenen Zeit abzuschließen, indem die verteilten Rechenfähigkeiten von Viya genutzt werden.
Über das Set : bart

Bayesianische additive Regressionsbäume.

Entdecken Sie alle Aktionen von bart
Datenaufbereitung

Generierung eines großen Datensatzes von Finanztransaktionen (1 Million Datensätze) mit Merkmalen, die auf potenziellen Betrug hindeuten.

Kopiert!
1DATA transaktionen_gross;
2 call streaminit(789);
3 DO trans_id = 1 to 1000000;
4 betrag = 5 + rand('NORMAL', 150, 500);
5 IF betrag < 0 THEN betrag = 5;
6 tageszeit = rand('UNIFORM') * 24;
7 land_match = (rand('UNIFORM') > 0.95); /* 1 if country doesn't match card origin */
8 p = 1 / (1 + exp(-( -5 + 0.002*betrag + 0.08*tageszeit + 2*land_match )));
9 ist_betrug = rand('BERNOULLI', p);
10 OUTPUT;
11 END;
12RUN;

Étapes de réalisation

1
Laden des großen Transaktionsdatensatzes in CAS.
Kopiert!
1 
2PROC CASUTIL;
3load
4DATA=transaktionen_gross casout='transaktionen_gross_cas' replace;
5RUN;
6 
2
Ausführung von bart.bartProbit im verteilten Modus, um die MCMC-Ketten auf mehrere Worker zu verteilen. Ein Zeitlimit wird festgelegt, um die Leistung zu überwachen.
Kopiert!
1PROC CAS;
2 bart.bartProbit /
3 TABLE='transaktionen_gross_cas',
4 model={depVars={{name='ist_betrug'}}, effects={{vars={'betrag', 'tageszeit', 'land_match'}}}},
5 nTree=50, /* Weniger Bäume für schnelleres Training */
6 nBI=200,
7 nMC=800,
8 seed=555,
9 distributeChains=4, /* Annahme: Mindestens 4 Worker verfügbar */
10 maxTrainTime=600, /* Zeitlimit von 10 Minuten */
11 trainInMem=TRUE,
12 store={name='betrugs_modell_volumen', replace=true};
13RUN;

Erwartetes Ergebnis


Die Aktion nutzt den verteilten Modus, um das Training zu beschleunigen, und schließt innerhalb des Zeitlimits von 600 Sekunden ab. Das Protokoll sollte anzeigen, dass die MCMC-Ketten verteilt wurden. Ein Modell-Store 'betrugs_modell_volumen' wird erstellt. Die Leistung wird als akzeptabel für die Verarbeitung großer Datenmengen bewertet.