?>
Führt eine unüberwachte Variablendiskretisierung durch. Diese Aktion ist nützlich für die Datenvorbereitung im maschinellen Lernen, bei der kontinuierliche Variablen in eine kleinere Anzahl von Klassen oder 'Bins' umgewandelt werden, um die Modellleistung zu verbessern oder Nichtlinearitäten zu erfassen.
| Parameter | Beschreibung |
|---|---|
| binEnds | Gibt die Endwerte der Intervalle an. Falls zutreffend, überschreiben sie die maximalen Datenwerte. |
| binMapping | Steuert, wie Werte zugeordnet werden, die an der Grenze zwischen aufeinanderfolgenden Intervallen liegen. LEFT ermöglicht die Notation [], (], ..., (]. RIGHT ermöglicht [), [), ..., []. |
| binMissing | Wenn auf True gesetzt, werden fehlende Werte in ein separates Intervall eingeordnet. Die ID für dieses Intervall ist 0. |
| binStarts | Gibt die Startwerte der Intervalle an. Falls zutreffend, überschreiben sie die minimalen Datenwerte. |
| binWidths | Gibt die Breite der Intervalle an. |
| 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. |
| 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. Die angegebenen Variablen werden in die Ausgabetabelle kopiert. |
| cutPoints | Gibt die vom Benutzer bereitgestellten Trennpunkte für die CUTPTS-Binning-Technik an. |
| freq | Gibt die Frequenzvariable an. |
| fuzzyCompare | Gibt den Schwellenwert für den Fuzzy-Vergleich an, der verwendet wird, um die Unterschiedlichkeit numerischer Werte zu bestimmen. |
| includeInputVars | Wenn auf True gesetzt, werden die Analysevariablen aus der Eingabetabelle, die im Parameter vars angegeben sind, 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. Sie können eine Teilmenge der Variablen aus der Eingabetabelle angeben. |
| method | Gibt die zu verwendende Binning-Technik an. |
| nBinsArray | Gibt eine Liste der Anzahl der für jede Variable zu erstellenden Intervalle an. Wenn mehr Variablen als angegebene Intervalle vorhanden sind, wird der letzte Wert für die verbleibenden Variablen verwendet. Zusätzliche Werte werden verworfen. |
| noDataLowerUpperBound | Wenn auf True gesetzt, sind während der Generierung des Scoring-Codes die globalen unteren und oberen Grenzen des Binsets unbegrenzt, anstatt auf die aus den Daten erhaltenen Werte gesetzt zu werden. |
| outputTableOptions | Gibt Optionen für Ergebnistabellen an. Sie können angeben, welche Ergebnistabellen der Server zurückgibt und wie Gruppierungsergebnisse behandelt werden. |
| 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. |
| percentileDefinition | Gibt die zu verwendende Perzentildefinition an. Die Definitionen sind von 1 bis 6 nummeriert. |
| percentileMaxIterations | Gibt die maximale Anzahl von Iterationen für die Perzentilberechnung an. |
| percentileTolerance | Gibt die Toleranz für die Perzentilberechnung an. |
| sasVarNameLength | Wenn auf True gesetzt, werden die Längen der Namen der Ausgabevariablen auf maximal 32 Zeichen beschränkt. |
| table | Gibt die zu verwendende Eingabetabelle an. |
| weight | Gibt die Gewichtungsvariable an. |
Dieses Beispiel erstellt die Tabelle 'my_table' in Ihrer aktiven Caslib. Sie enthält zwei numerische Variablen ('var1', 'var2') und eine ID-Variable ('id'), die für die folgenden Binning-Beispiele verwendet werden.
1 DATA mycas.my_table; 2 DO i = 1 to 100; 3 var1 = rand('UNIFORM') * 100; 4 var2 = rand('NORMAL', 50, 10); 5 id = i; 6 OUTPUT; 7 END; 8 RUN;
Dieses Beispiel zeigt, wie man unüberwachtes Binning auf der Tabelle 'my_table' mit der Standardmethode BUCKET durchführt, die 5 Intervalle gleicher Breite für jede in 'inputs' angegebene Variable erstellt.
| 1 | PROC CAS; |
| 2 | dataPreprocess.binning |
| 3 | TABLE={name='my_table'}, |
| 4 | inputs={{name='var1'}, {name='var2'}}, |
| 5 | casOut={name='my_table_binned', replace=true}, |
| 6 | casOutBinDetails={name='binned_details', replace=true}; |
| 7 | RUN; |
Dieses Beispiel zeigt, wie die QUANTILE-Methode verwendet wird, um Intervalle mit einer ungefähr gleichen Anzahl von Beobachtungen zu erstellen. Wir fordern 4 Intervalle für 'var1' und 10 für 'var2' an.
| 1 | PROC CAS; |
| 2 | dataPreprocess.binning |
| 3 | TABLE={name='my_table'}, |
| 4 | method='QUANTILE', |
| 5 | inputs={{name='var1'}, {name='var2'}}, |
| 6 | nBinsArray={4, 10}, |
| 7 | casOut={name='my_table_quantile', replace=true}, |
| 8 | copyVars={'id'}; |
| 9 | RUN; |
Dieses Beispiel zeigt, wie die CUTPTS-Methode mit benutzerdefinierten Trennpunkten zum Binning der Variablen verwendet wird. Dies gibt die volle Kontrolle über die Intervallgrenzen.
| 1 | PROC CAS; |
| 2 | dataPreprocess.binning |
| 3 | TABLE={name='my_table'}, |
| 4 | method='CUTPTS', |
| 5 | inputs={{name='var1', cutPoints={25, 50, 75}}, {name='var2', cutPoints={40, 60}}}, |
| 6 | casOut={name='my_table_cutpts', replace=true}, |
| 7 | copyVars={'id'}; |
| 8 | RUN; |
Dieses Beispiel führt ein Quantil-Binning durch und generiert SAS DATA Step Code, der die Binning-Logik kapselt. Dieser Code kann dann verwendet werden, um neue Daten auf die gleiche Weise zu bewerten, ohne die Aktion erneut ausführen zu müssen.
| 1 | PROC CAS; |
| 2 | dataPreprocess.binning |
| 3 | TABLE={name='my_table'}, |
| 4 | method='QUANTILE', |
| 5 | inputs={{name='var1'}}, |
| 6 | nBinsArray=5, |
| 7 | code={casOut={name='bincode', replace=true}}; |
| 8 | RUN; |