dataPreprocess

catTrans

Beschreibung

Gruppiert und kodiert kategoriale Variablen unter Verwendung von unbeaufsichtigten und beaufsichtigten Gruppierungstechniken.

dataPreprocess.catTrans <result=results> <status=rc> / arguments={catTransArguments}, casOut={casouttable}, casOutBinDetails={casouttable}, casOutLevelBinMap={casouttable}, code={codegen}, copyAllVars=TRUE | FALSE, copyVars={"variable-name-1" <, "variable-name-2", ...>}, distinctCountLimit=integer, evaluationStats=TRUE | FALSE, events={"string-1" <, "string-2", ...>}, freq="variable-name", fuzzyCompare=double, includeInputVars=TRUE | FALSE, includeMissingGroup=TRUE | FALSE, inputs={{casinvardesc-1} <, {casinvardesc-2}, ...>}, inputsInheritFormats=TRUE | FALSE, method="DTREE" | "GROUPRARE" | "ONEHOT" | "RTREE" | "WOE", outputTableOptions={outputTableOptions}, outVarsNamePrefix="string", outVarsNameSuffix="string", sasVarNameLength=TRUE | FALSE, table={castable}, targets={{casinvardesc-1} <, {casinvardesc-2}, ...>}, targetsInheritFormats=TRUE | FALSE, weight="variable-name";
Einstellungen
ParameterBeschreibung
argumentsGibt die Liste der zu verwendenden Argumente an.
contingencyTblOptsSteuert die Anzahl der Zeilen für die Transformationsvariable der X-Achse, die Anzahl der Spalten für die Zielvariable der Y-Achse und die Position der Zeilenschnittpunkte.
maxNBinsGibt die maximale Anzahl von Bins für überwachte Techniken an.
minNBinsGibt die minimale Anzahl von Bins an.
nBinsArrayGibt eine Liste der Anzahl der zu erstellenden Bins für jede Variable an.
overridesGibt die globalen Optionen an, die für alle Anforderungspakete gelten.
preprocessRareWenn auf True gesetzt, werden seltene Stufen zu Beginn des Gruppierungsprozesses in einer einzigen Gruppe zusammengefasst.
rareThresholdGibt den Schwellenwert für die Häufigkeit seltener Vorkommen an.
rareThresholdPercentGibt den Perzentil-Schwellenwert für seltene Vorkommen an. Stufen unterhalb des Schwellenwerts werden gruppiert.
treeCritGibt das zu verwendende Baumkriterium an. Der Standard für nominale Ziele ist 'gainratio' und für Intervallziele 'sse'.
casOutBewertet die Eingabetabelle und speichert die Bewertungsergebnisse als Tabelle.
casOutBinDetailsGibt die Einstellungen für eine Ausgabetabelle an, die Informationen über die Binning-Ergebnisse enthält.
casOutLevelBinMapGibt die Einstellungen für eine Ausgabetabelle an, die die Zuordnungsinformationen der nominalen Stufen zu den Bins enthält.
codeGibt die Einstellungen für die Generierung von SAS DATA Step Scoring-Code an.
copyAllVarsWenn auf True gesetzt, werden alle Variablen aus der Eingabetabelle in die bewertete Ausgabetabelle kopiert.
copyVarsGibt die Namen der Variablen in der Eingabetabelle an, die zur Identifizierung bewerteter Beobachtungen in der Ausgabetabelle verwendet werden sollen.
distinctCountLimitGibt das Limit für die Zählung eindeutiger Werte an.
evaluationStatsWenn auf True gesetzt, wird die Berechnung des Standard-Satzes von Bewertungsstatistiken für die transformierten Variablen angefordert.
eventsGibt eine Liste von Ereignissen an, die der Liste der Zielvariablen entsprechen.
freqGibt die Häufigkeitsvariable an.
fuzzyCompareGibt den Schwellenwert für den unscharfen Vergleich an, der zur Bestimmung der Eindeutigkeit numerischer Werte verwendet wird.
includeInputVarsWenn auf True gesetzt, werden die Analysevariablen aus der Eingabetabelle in die Ausgabetabelle kopiert.
includeMissingGroupWenn auf True gesetzt, sind fehlende Werte als Gruppierungsschlüssel zulässig.
inputsGibt die für die Analyse zu verwendenden Variablen an.
inputsInheritFormatsGibt an, dass die Variablen Formate von der zugrunde liegenden Tabelle erben.
methodGibt die zu verwendende Binning-Technik an.
outputTableOptionsGibt Optionen für Ergebnistabellen an.
outVarsNamePrefixGibt ein Präfix an, das auf die Namen der Ausgabevariablen angewendet wird.
outVarsNameSuffixGibt ein Suffix an, das auf die Namen der Ausgabevariablen angewendet wird.
sasVarNameLengthWenn auf True gesetzt, wird die Länge der Namen der Ausgabevariablen auf 32 Zeichen oder weniger beschränkt.
tableGibt die zu analysierende Eingabetabelle an.
targetsGibt eine Liste von Zielvariablen an. Dieser Parameter ist für überwachte Gruppierungstechniken erforderlich.
targetsInheritFormatsGibt an, dass die Variablen Formate von der zugrunde liegenden Tabelle erben.
weightGibt die Gewichtungsvariable an.
Erstellung von Beispieldaten

Erstellt eine Beispieltabelle 'my_table' in der CAS-Bibliothek 'casuser', um die kategoriale Transformation zu demonstrieren. Diese Tabelle enthält kategoriale Variablen und eine Zielvariable für überwachte Methoden.

Kopiert!
1DATA casuser.my_table;
2 LENGTH category1 $ 10 category2 $ 1;
3 DO i=1 to 100;
4 IF rand('UNIFORM') < 0.1 THEN category1 = 'RARE';
5 ELSE IF rand('UNIFORM') < 0.5 THEN category1 = 'GROUP_A';
6 ELSE category1 = 'GROUP_B';
7 IF rand('UNIFORM') < 0.7 THEN category2 = 'X';
8 ELSE category2 = 'Y';
9 target = (rand('UNIFORM') < 0.3);
10 OUTPUT;
11 END;
12 RUN;

Beispiele

Dieses Beispiel verwendet die Methode 'GROUPRARE', um seltene Kategorien in der Variablen 'category1' zu gruppieren. Seltene Stufen werden in einer einzigen Gruppe zusammengefasst, was die Daten für die Modellierung vereinfacht.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1PROC CAS;
2 dataPreprocess.catTrans /
3 TABLE={name='my_table', caslib='casuser'},
4 method='GROUPRARE',
5 inputs={{name='category1'}},
6 casOut={name='cattrans_grouprare_output', caslib='casuser', replace=true},
7 copyVars={'target', 'category1'};
8 RUN;
Ergebnis :
Eine Ausgabetabelle 'cattrans_grouprare_output' wird erstellt. Sie enthält die ursprünglichen Variablen und eine neue transformierte Variable für 'category1', in der seltene Werte in einer einzigen Kategorie zusammengefasst sind.

Dieses Beispiel führt eine WOE-Transformation (Weight of Evidence) für 'category1' und 'category2' durch, basierend auf der binären Zielvariable 'target'. Die WOE-Methode ist eine überwachte Technik, die kategoriale Variablen basierend auf ihrer Beziehung zum Ziel umkodiert. Es werden auch Ausgabetabellen für die Bin-Details und die Level-Bin-Zuordnung erstellt.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1PROC CAS;
2 dataPreprocess.catTrans /
3 TABLE={name='my_table', caslib='casuser'},
4 method='WOE',
5 inputs={{name='category1'}, {name='category2'}},
6 targets={{name='target'}},
7 events={'1'},
8 casOut={name='cattrans_woe_output', caslib='casuser', replace=true},
9 casOutBinDetails={name='woe_bin_details', caslib='casuser', replace=true},
10 casOutLevelBinMap={name='woe_level_map', caslib='casuser', replace=true},
11 copyVars={'target', 'category1', 'category2'};
12 RUN;
Ergebnis :
Drei Tabellen werden erstellt: 'cattrans_woe_output' mit den transformierten WOE-Werten, 'woe_bin_details' mit detaillierten Statistiken für jeden Bin (einschließlich IV und WOE) und 'woe_level_map', die die ursprünglichen Kategorien den neuen Bins zuordnet.

Zugehörige Szenarien

Anwendungsfall
Kreditrisiko-Bewertung mit Weight of Evidence (WOE)

Eine Bank entwickelt ein Kredit-Scoring-Modell. Um die Vorhersagekraft kategorialer Variablen wie 'Beruf' und 'Wohnstatus' in Bezug auf Kreditausfälle zu maximieren, sollen dies...

Anwendungsfall
Hochvolumige One-Hot-Codierung für E-Commerce-Empfehlungen

Ein großer Online-Händler möchte Benutzerinteraktionen für ein Empfehlungssystem aufbereiten. Da nachgelagerte maschinelle Lernmodelle (wie neuronale Netze) numerische Eingaben ...

Anwendungsfall
Betrugserkennung: Umgang mit seltenen Codes und fehlenden Werten

Bei der Analyse von Finanztransaktionen treten oft spezifische Fehlercodes auf, die sehr selten sind, sowie fehlende Standortdaten. Um ein robustes Betrugsmodell zu trainieren, ...