decisionTree

forestScore

Beschreibung

Die Aktion `forestScore` bewertet eine Tabelle mithilfe eines zuvor trainierten Forest-Modells. Sie ermöglicht die Anwendung eines Random-Forest-Modells auf neue Daten, um Vorhersagen (Scoring) zu treffen. Die Aktion unterstützt verschiedene Optionen zur Steuerung der Ausgabe, wie z. B. die Berechnung von Fehlerraten, die Ausgabe von Wahrscheinlichkeiten bei Klassifikationsproblemen und die Behandlung fehlender Werte. Sie ist essentiell für den Einsatz von maschinellen Lernmodellen in der Produktion.

decisionTree.forestScore <result=results> <status=rc> / applyRowOrder=TRUE | FALSE, assess=TRUE | FALSE, assessOneRow=TRUE | FALSE, casOut={ caslib="string", compress=TRUE | FALSE, indexVars={"variable-name-1" <, "variable-name-2", ...>}, label="string", lifetime=64-bit-integer, maxMemSize=64-bit-integer, memoryFormat="DVR" | "INHERIT" | "STANDARD", name="table-name", promote=TRUE | FALSE, replace=TRUE | FALSE, replication=integer, tableRedistUpPolicy="DEFER" | "NOREDIST" | "REBALANCE", threadBlockSize=64-bit-integer, timeStamp="string", where={"string-1" <, "string-2", ...>} }, copyVars={"variable-name-1" <, "variable-name-2", ...>}, encodeName=TRUE | FALSE, impute=TRUE | FALSE, includeMissing=TRUE | FALSE, isolation=TRUE | FALSE, modelId="string", modelTable={ caslib="string", computedOnDemand=TRUE | FALSE, computedVars={{...}}, computedVarsProgram="string", dataSourceOptions={...}, importOptions={...}, name="table-name", singlePass=TRUE | FALSE, vars={{...}}, where="where-expression", whereTable={...} }, nTree=integer, rbaImp=TRUE | FALSE, seed=double, table={ caslib="string", computedOnDemand=TRUE | FALSE, computedVars={{...}}, computedVarsProgram="string", dataSourceOptions={...}, importOptions={...}, name="table-name", singlePass=TRUE | FALSE, vars={{...}}, where="where-expression", whereTable={...} }, target="variable-name", treeError=TRUE | FALSE, treeVotes=TRUE | FALSE, varIntImp=integer, vote="MAJORITY" | "PROB";
Einstellungen
ParameterBeschreibung
modelTable Gibt die Tabelle an, die das trainierte Forest-Modell enthält. Dies ist ein Pflichtparameter.
table Gibt die Eingabetabelle an, die bewertet (gescort) werden soll. Dies ist ein Pflichtparameter.
casOut Gibt die Tabelle an, in der die Bewertungsergebnisse gespeichert werden sollen. Wenn nicht angegeben, werden nur Fehlerraten berechnet.
assess Wenn auf TRUE gesetzt, werden vorhergesagte Wahrscheinlichkeiten für die Ereignisebenen zur Ergebnistabelle hinzugefügt, nützlich für die `assess`-Aktion.
assessOneRow Ähnlich wie `assess`, fügt jedoch alle Ereigniswahrscheinlichkeiten als separate Spalten mit dem Präfix `_DT_P_` hinzu.
copyVars Liste der Variablen, die aus der Eingabetabelle in die Ausgabetabelle kopiert werden sollen.
encodeName Steuert die Benennung der Wahrscheinlichkeitsvariablen. Bei TRUE wird das Präfix `P_` anstelle von `_DT_P_` verwendet.
impute Gibt an, ob beobachtete Werte für die Zielvariable als vorhergesagte Werte verwendet werden sollen, wenn sie nicht fehlen (Standard: FALSE).
includeMissing Legt fest, ob Beobachtungen mit fehlenden Werten in den Modellvariablen beim Scoring berücksichtigt werden sollen (Standard: TRUE).
vote Bestimmt die Abstimmungsstrategie für die Klassifikation. Werte: 'MAJORITY' (Mehrheitsentscheidung) oder 'PROB' (Durchschnittswahrscheinlichkeit).
nTree Gibt die Anzahl der Bäume an, die für das Scoring verwendet werden sollen.
varIntImp Fordert die Berechnung der Wichtigkeit von Variableninteraktionen an und gibt den maximalen Grad der Interaktion an (0-3).
treeVotes Fügt der Ausgabetabelle Informationen über die Abstimmungen der einzelnen Bäume hinzu.
treeError Berechnet den Fehler für jeden Baum im Forest, wenn auf TRUE gesetzt.
Datenvorbereitung und Modelltraining

Lädt den HMEQ-Datensatz und trainiert ein Forest-Modell, das anschließend für das Scoring verwendet wird.

Kopiert!
1PROC CAS;
2 SESSION casauto;
3 /* Lade Daten */
4 TABLE.loadTable RESULT=r STATUS=s / caslib="samples" path="hmeq.csv" casOut={name="hmeq", replace=true};
5
6 /* Trainiere das Modell */
7 decisionTree.forestTrain RESULT=r STATUS=s /
8 TABLE={name="hmeq", where="BAD ne ."}
9 target="BAD"
10 inputs={"LOAN", "MORTDUE", "VALUE", "REASON", "JOB", "YOJ", "DEROG", "DELINQ", "CLAGE", "NINQ", "CLNO", "DEBTINC"}
11 nominals={"REASON", "JOB", "BAD"}
12 casOut={name="forest_model", replace=true};
13RUN;

Beispiele

Bewertet die HMEQ-Tabelle mit dem zuvor trainierten Modell und speichert die Ergebnisse.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1PROC CAS;
2 decisionTree.forestScore /
3 TABLE={name="hmeq"}
4 modelTable={name="forest_model"}
5 casOut={name="hmeq_scored", replace=true};
6RUN;
Ergebnis :
Erzeugt die Tabelle 'hmeq_scored' mit den Vorhersagen für die Zielvariable 'BAD'.

Führt ein Scoring durch, bei dem Wahrscheinlichkeiten berechnet, bestimmte Variablen kopiert und die Abstimmungsstrategie festgelegt werden.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1PROC CAS;
2 decisionTree.forestScore /
3 TABLE={name="hmeq"}
4 modelTable={name="forest_model"}
5 /* Speichere Ergebnisse in 'hmeq_detailed_score' */
6 casOut={name="hmeq_detailed_score", replace=true}
7 /* Kopiere die ID-Variable oder wichtige Eingaben */
8 copyVars={"LOAN", "REASON", "JOB"}
9 /* Berechne Wahrscheinlichkeiten für die Analyse */
10 assess=true
11 assessOneRow=true
12 /* Verwende die Durchschnittswahrscheinlichkeit für die Entscheidung */
13 vote="PROB"
14 /* Kodierung der Ausgabevariablennamen */
15 encodeName=true;
16RUN;
Ergebnis :
Die Ausgabetabelle enthält neben der Vorhersage auch die Wahrscheinlichkeiten für jedes Level der Zielvariable (z.B. P_BAD0, P_BAD1) sowie die kopierten Variablen LOAN, REASON und JOB.

FAQ

Was ist der Hauptzweck der Aktion forestScore?
Welcher Parameter ist erforderlich, um das zu verwendende Modell anzugeben?
Wie kann ich festlegen, wo die Bewertungsergebnisse gespeichert werden?
Wie werden Beobachtungen mit fehlenden Werten standardmäßig behandelt?
Welche Optionen bietet der Parameter 'vote' für die Klassifizierungsstrategie?
Was bewirkt der Parameter 'assess'?
Kann ich die Reproduzierbarkeit der Zufallszahlen steuern?
Wozu dient der Parameter 'impute'?