Scénario de test & Cas d'usage
Erkennung und Minderung von Verzerrungen in KI-Modellen.
Entdecken Sie alle Aktionen von fairAIToolsErstellt eine große Tabelle `Versicherungsfaelle` mit 1 Million Zeilen, um die Leistung zu testen. Die Daten simulieren Schadensmeldungen und enthalten eine Zielvariable `BETRUGSVERDACHT` (1=Betrug, 0=kein Betrug) und eine sensible Variable `REGION` mit vier Kategorien ('Nord', 'Süd', 'Ost', 'West').
| 1 | DATA casuser.Versicherungsfaelle(keep=FALL_ID REGION ALTER SCHADENHOEHE ANZAHL_VORFAELLE BETRUGSVERDACHT); |
| 2 | call streaminit(456); |
| 3 | DO FALL_ID = 1 to 1000000; |
| 4 | seed_region = rand('UNIFORM'); |
| 5 | IF seed_region < 0.4 THEN REGION = 'West'; |
| 6 | ELSE IF seed_region < 0.7 THEN REGION = 'Süd'; |
| 7 | ELSE IF seed_region < 0.9 THEN REGION = 'Nord'; |
| 8 | ELSE REGION = 'Ost'; |
| 9 | |
| 10 | ALTER = 18 + int(rand('UNIFORM')*70); |
| 11 | SCHADENHOEHE = 100 + rand('EXPONENTIAL')*5000; |
| 12 | ANZAHL_VORFAELLE = int(rand('POISSON', 2)); |
| 13 | |
| 14 | score = -4 + (SCHADENHOEHE/10000) - (ALTER/50) + ANZAHL_VORFAELLE*0.8; |
| 15 | IF REGION = 'Ost' THEN score = score + 0.7; /* Bias einführen */ |
| 16 | |
| 17 | prob = 1 / (1 + exp(-score)); |
| 18 | BETRUGSVERDACHT = (rand('UNIFORM') < prob); |
| 19 | OUTPUT; |
| 20 | END; |
| 21 | RUN; |
| 1 | PROC CAS; |
| 2 | logistic.train |
| 3 | TABLE={name='Versicherungsfaelle'}, |
| 4 | target='BETRUGSVERDACHT', |
| 5 | inputs={'ALTER', 'SCHADENHOEHE', 'ANZAHL_VORFAELLE'}, |
| 6 | nominals={'REGION', 'BETRUGSVERDACHT'}, |
| 7 | savestate={name='logistic_betrug_model', replace=true}; |
| 8 | RUN; |
| 1 | PROC CAS; |
| 2 | fairAITools.assessBias |
| 3 | TABLE={name='Versicherungsfaelle'}, |
| 4 | response={'name'='BETRUGSVERDACHT'}, |
| 5 | sensitiveVariable={'name'='REGION'}, |
| 6 | modelTable={name='logistic_betrug_model'}, |
| 7 | predictedVariables={{name='P_BETRUGSVERDACHT1'}, {name='P_BETRUGSVERDACHT0'}}, |
| 8 | responseLevels={'1', '0'}, |
| 9 | event='1', |
| 10 | cutoff=0.65; |
| 11 | RUN; |
Die Aktion `assessBias` wird erfolgreich auf dem 1-Millionen-Zeilen-Datensatz ausgeführt. Die Ausgabetabellen zeigen die Bias-Metriken für jede Region im Vergleich zum Gesamtdurchschnitt (da kein `referenceLevel` angegeben wurde). Die Ergebnisse werden unter Verwendung des angegebenen `cutoff` von 0.65 berechnet, was die Fähigkeit der Aktion demonstriert, auf großen Datenmengen zu arbeiten.