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
arguments Gibt die Liste der zu verwendenden Argumente an.
contingencyTblOpts Steuert 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.
maxNBins Gibt die maximale Anzahl von Bins für überwachte Techniken an.
minNBins Gibt die minimale Anzahl von Bins an.
nBinsArray Gibt eine Liste der Anzahl der zu erstellenden Bins für jede Variable an.
overrides Gibt die globalen Optionen an, die für alle Anforderungspakete gelten.
preprocessRare Wenn auf True gesetzt, werden seltene Stufen zu Beginn des Gruppierungsprozesses in einer einzigen Gruppe zusammengefasst.
rareThreshold Gibt den Schwellenwert für die Häufigkeit seltener Vorkommen an.
rareThresholdPercent Gibt den Perzentil-Schwellenwert für seltene Vorkommen an. Stufen unterhalb des Schwellenwerts werden gruppiert.
treeCrit Gibt das zu verwendende Baumkriterium an. Der Standard für nominale Ziele ist 'gainratio' und für Intervallziele 'sse'.
casOut Bewertet die Eingabetabelle und speichert die Bewertungsergebnisse als Tabelle.
casOutBinDetails Gibt die Einstellungen für eine Ausgabetabelle an, die Informationen über die Binning-Ergebnisse enthält.
casOutLevelBinMap Gibt die Einstellungen für eine Ausgabetabelle an, die die Zuordnungsinformationen der nominalen Stufen zu den Bins enthält.
code Gibt die Einstellungen für die Generierung von SAS DATA Step Scoring-Code an.
copyAllVars Wenn auf True gesetzt, werden alle Variablen aus der Eingabetabelle in die bewertete Ausgabetabelle kopiert.
copyVars Gibt die Namen der Variablen in der Eingabetabelle an, die zur Identifizierung bewerteter Beobachtungen in der Ausgabetabelle verwendet werden sollen.
distinctCountLimit Gibt das Limit für die Zählung eindeutiger Werte an.
evaluationStats Wenn auf True gesetzt, wird die Berechnung des Standard-Satzes von Bewertungsstatistiken für die transformierten Variablen angefordert.
events Gibt eine Liste von Ereignissen an, die der Liste der Zielvariablen entsprechen.
freq Gibt die Häufigkeitsvariable an.
fuzzyCompare Gibt den Schwellenwert für den unscharfen Vergleich an, der zur Bestimmung der Eindeutigkeit numerischer Werte verwendet wird.
includeInputVars Wenn auf True gesetzt, werden die Analysevariablen aus der Eingabetabelle in die Ausgabetabelle kopiert.
includeMissingGroup Wenn auf True gesetzt, sind fehlende Werte als Gruppierungsschlüssel zulässig.
inputs Gibt die für die Analyse zu verwendenden Variablen an.
inputsInheritFormats Gibt an, dass die Variablen Formate von der zugrunde liegenden Tabelle erben.
method Gibt die zu verwendende Binning-Technik an.
outputTableOptions Gibt Optionen für Ergebnistabellen an.
outVarsNamePrefix Gibt ein Präfix an, das auf die Namen der Ausgabevariablen angewendet wird.
outVarsNameSuffix Gibt ein Suffix an, das auf die Namen der Ausgabevariablen angewendet wird.
sasVarNameLength Wenn auf True gesetzt, wird die Länge der Namen der Ausgabevariablen auf 32 Zeichen oder weniger beschränkt.
table Gibt die zu analysierende Eingabetabelle an.
targets Gibt eine Liste von Zielvariablen an. Dieser Parameter ist für überwachte Gruppierungstechniken erforderlich.
targetsInheritFormats Gibt an, dass die Variablen Formate von der zugrunde liegenden Tabelle erben.
weight Gibt 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, ...