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
modelTableGibt die Tabelle an, die das trainierte Forest-Modell enthält. Dies ist ein Pflichtparameter.
tableGibt die Eingabetabelle an, die bewertet (gescort) werden soll. Dies ist ein Pflichtparameter.
casOutGibt die Tabelle an, in der die Bewertungsergebnisse gespeichert werden sollen. Wenn nicht angegeben, werden nur Fehlerraten berechnet.
assessWenn 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.
copyVarsListe der Variablen, die aus der Eingabetabelle in die Ausgabetabelle kopiert werden sollen.
encodeNameSteuert die Benennung der Wahrscheinlichkeitsvariablen. Bei TRUE wird das Präfix `P_` anstelle von `_DT_P_` verwendet.
imputeGibt an, ob beobachtete Werte für die Zielvariable als vorhergesagte Werte verwendet werden sollen, wenn sie nicht fehlen (Standard: FALSE).
includeMissingLegt fest, ob Beobachtungen mit fehlenden Werten in den Modellvariablen beim Scoring berücksichtigt werden sollen (Standard: TRUE).
voteBestimmt die Abstimmungsstrategie für die Klassifikation. Werte: 'MAJORITY' (Mehrheitsentscheidung) oder 'PROB' (Durchschnittswahrscheinlichkeit).
nTreeGibt die Anzahl der Bäume an, die für das Scoring verwendet werden sollen.
varIntImpFordert die Berechnung der Wichtigkeit von Variableninteraktionen an und gibt den maximalen Grad der Interaktion an (0-3).
treeVotesFügt der Ausgabetabelle Informationen über die Abstimmungen der einzelnen Bäume hinzu.
treeErrorBerechnet 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'?