?> annScore - WeAreCAS
neuralNet

annScore

Beschreibung

Die Aktion `annScore` im `neuralNet`-Aktionssatz wird verwendet, um eine Datentabelle unter Verwendung eines zuvor trainierten künstlichen neuronalen Netzwerkmodells zu bewerten. Diese Aktion nimmt ein trainiertes Modell (gespeichert in einer CAS-Tabelle) und eine Eingabetabelle und erzeugt eine Ausgabetabelle, die die vorhergesagten Werte enthält. Sie ist ein wesentlicher Schritt im Machine-Learning-Workflow, um die Leistung eines Modells auf neuen Daten zu bewerten oder Vorhersagen für die Produktion zu generieren.

neuralNet.annScore / assess=TRUE | FALSE, assessOneRow=TRUE | FALSE, casOut={...}, copyVars={"variable-name-1" <, "variable-name-2", ...>}, impute=TRUE | FALSE, includeMissing=TRUE | FALSE, listNode="ALL" | "HIDDEN" | "INPUT" | "OUTPUT", modelId="string", modelTable={...}, table={...}, target="variable-name";
Einstellungen
ParameterBeschreibung
assessWenn auf True gesetzt, werden vorhergesagte Wahrscheinlichkeiten für die Ereignislevel zur Ergebnistabelle hinzugefügt. Sie können diese vorhergesagten Wahrscheinlichkeiten mit der assess-Aktion verwenden.
assessOneRowWenn auf True gesetzt, werden vorhergesagte Wahrscheinlichkeiten für die Ereignislevel zur Ergebnistabelle hinzugefügt. Alle Ereigniswahrscheinlichkeiten werden als separate Spalten eingefügt und mit dem Präfix _NN_P_ benannt. Sie können diese vorhergesagten Wahrscheinlichkeiten mit der assess-Aktion verwenden.
casOutGibt die Ausgabetabelle an, in der die Bewertungsergebnisse gespeichert werden sollen.
copyVarsGibt die Variablen an, die von der Eingabetabelle in die Ausgabetabelle übertragen werden sollen.
imputeWenn auf True gesetzt, werden Beobachtungen mit einem nicht fehlenden Wert für die Zielvariable als die vorhergesagten Werte verwendet. Das heißt, der beobachtete Wert wird als fehlerfrei angenommen. Nur Beobachtungen mit fehlenden Werten für die Zielvariable werden basierend auf ihren Werten für die Eingabevariablen bewertet.
includeMissingStandardmäßig werden Beobachtungen mit fehlenden Werten eingeschlossen. Wenn auf False gesetzt, werden alle Beobachtungen mit fehlenden Werten für die im Modell verwendeten Variablen nicht eingeschlossen.
listNodeGibt die Knoten an, die in die bewertete Ausgabetabelle aufgenommen werden sollen. Wenn die Auto-Kodierung von Eingangsknoten angefordert wird, ist der Standardwert HIDDEN. Dieser Wert ist besonders nützlich, wenn die Auto-Kodierung zur Reduzierung der Dimension der Eingangsknoten angewendet wird. Durch die Wiederverwendung der Knotenausgabewerte können Algorithmen des maschinellen Lernens wie neuronale Netze, Clustering, Entscheidungsbäume und Wälder die neu kodierten Vektoren als Eingabe verwenden.
modelIdGibt den Namen der Modell-ID-Variable an, der beim Erstellen der bewerteten Tabelle verwendet werden soll. Standardmäßig lautet der Variablenname _NN_PredName_ für Klassifikationen und _NN_Pred_ für Regressionen.
modelTableGibt die Tabelle an, die das künstliche neuronale Netzwerkmodell enthält. Sie können dieses Modell verwenden, um eine Tabelle zu bewerten oder SAS-Bewertungscode zu generieren.
tableGibt die zu bewertende Eingabetabelle an.
targetGibt die Zielvariable beim Bewerten eines Datensatzes an. Wenn der Name der Zielvariable im Modell derselbe ist wie in der bewerteten Tabelle, ist diese Option nicht erforderlich.
Datenaufbereitung
Erstellung von Beispieldaten

Dieser Code erstellt eine Beispieltabelle 'my_ann_data' mit einigen Eingabevariablen (input1, input2, input3) und einer binären Zielvariable (target). Diese Daten können verwendet werden, um ein neuronales Netzwerk zu trainieren und anschließend mit der annScore-Aktion zu bewerten. Zuerst muss ein Modell mit `annTrain` trainiert werden.

/* Zuerst ein Modell trainieren */
proc cas;
   neuralNet.annTrain /
      table={name='my_ann_data'},
      target='target',
      inputs={'input1', 'input2', 'input3'},
      arch='MLP',
      hiddens={5},
      modelOut={name='my_ann_model', replace=true};
   run;
quit;

Beispiele

Dieses Beispiel bewertet die Tabelle 'my_ann_data' unter Verwendung eines zuvor trainierten Modells, das in 'my_ann_model' gespeichert ist, und speichert die Ergebnisse in 'my_ann_scored'.

SAS® / CAS-Code
Kopiert!
1PROC CAS;
2 neuralNet.annScore /
3 TABLE={name='my_ann_data'},
4 modelTable={name='my_ann_model'},
5 casOut={name='my_ann_scored', replace=true};
6RUN;
Ergebnis :
Die Aktion erstellt eine neue Tabelle 'my_ann_scored' in der aktuellen Caslib. Diese Tabelle enthält die ursprünglichen Daten sowie die vorhergesagten Werte des Modells in einer neuen Spalte (standardmäßig _NN_Pred_ oder _NN_PredName_).

Dieses Beispiel bewertet die Tabelle 'my_ann_data' mit dem Modell 'my_ann_model'. Es kopiert die Variablen 'input1' und 'i' in die Ausgabetabelle und schließt auch die Ausgabewerte der versteckten Knoten in die Bewertungstabelle ein. Die Ergebnisse werden in 'my_ann_scored_detailed' gespeichert.

SAS® / CAS-Code
Kopiert!
1PROC CAS;
2 neuralNet.annScore /
3 TABLE={name='my_ann_data'},
4 modelTable={name='my_ann_model'},
5 copyVars={'input1', 'i'},
6 listNode='HIDDEN',
7 casOut={name='my_ann_scored_detailed', replace=true};
8RUN;
Ergebnis :
Die Ausgabetabelle 'my_ann_scored_detailed' wird erstellt. Sie enthält die vorhergesagten Werte, die kopierten Variablen 'input1' und 'i' sowie zusätzliche Spalten für jeden Knoten in den versteckten Schichten des neuronalen Netzwerks.

Dieses Beispiel bewertet die Daten und fordert die Erstellung von Wahrscheinlichkeitsspalten für jede Ebene der Zielvariable an. Dies ist nützlich für die anschließende Modellbewertung mit ROC-Kurven oder Lift-Charts.

SAS® / CAS-Code
Kopiert!
1PROC CAS;
2 neuralNet.annScore /
3 TABLE={name='my_ann_data'},
4 modelTable={name='my_ann_model'},
5 assess=true,
6 casOut={name='my_ann_scored_assess', replace=true};
7RUN;
Ergebnis :
Die Ausgabetabelle 'my_ann_scored_assess' wird erstellt. Zusätzlich zu den Standardausgaben enthält sie Spalten für die vorhergesagten Wahrscheinlichkeiten jeder Klasse der Zielvariable, die für die Verwendung mit der `assess`-Aktion geeignet sind.

FAQ

Was ist der Zweck der `annScore`-Aktion in SAS Viya?
Welcher Parameter ist erforderlich, um das trainierte Modell für das Scoring anzugeben?
Wie gebe ich die Datentabelle an, die bewertet werden soll?
Was bewirkt der Parameter `casOut`?
Wie kann ich bestimmte Variablen von der Eingabetabelle in die Ausgabe-Scoring-Tabelle kopieren?
Was ist die Funktion des `assess`-Parameters?
Wie unterscheidet sich `assessOneRow` von `assess`?
Wie behandelt die `annScore`-Aktion fehlende Werte?
Was steuert der `listNode`-Parameter?