neuralNet

annScore

##set_neuralnet

Description

L'action annScore permet de scorer (ou noter) une table de données en utilisant un modèleReprésentation mathématique entraînée sur des données pour capturer des tendances, prédire des résultats ou classifier des observations via des algorithmes (Régression, Forêt aléatoire, Gradient Boosting). de réseau de neurones artificiel (ANNModèles de Deep Learning sur Viya simulant le cerveau humain. Ils utilisent des couches de neurones pour identifier des motifs complexes dans des données non structurées (images, voix, texte).) préalablement entraîné. Que vous cherchiez à prédire l'avenir ou juste à comprendre le présent (sans boule de cristal, promis), cette action génère rapidement les prédictions et les probabilités associées en s'appuyant sur la puissance distribuée de l'environnement CAS.

Syntaxe Officielle
proc cas;
neuralNet.annScore /
assess=TRUE | FALSE,
assessOneRow=TRUE | FALSE,
casOut={name="nom_table_sortie", replace=TRUE},
copyVars={"var1", "var2"},
impute=TRUE | FALSE,
includeMissing=TRUE | FALSE,
listNode="ALL" | "HIDDEN" | "INPUT" | "OUTPUT",
modelId="nom_var_id",
modelTable={name="table_modele"},
table={name="table_a_scorer"},
target="variable_cible";
run;
quit;

Paramètres Clés

Nom du paramètre Description
modelTable Spécifie la table contenant le modèle de réseau de neurones artificiel entraîné. Obligatoire.
table Spécifie les paramètres de la table d'entrée contenant les nouvelles données à scorer. Obligatoire.
casOut Spécifie la table de sortie en mémoire (CAS) où les prédictions et résultats seront sauvegardés.
assess Si défini sur True, les probabilités prédites sont ajoutées à la table de résultats pour faciliter l'utilisation ultérieure avec l'action 'assess'.
assessOneRow Si défini sur True, toutes les probabilités des différents événements sont incluses sur une seule ligne dans des colonnes séparées (préfixées par _NN_P_).
copyVars Spécifie la liste des variables de la table d'entrée à transférer telles quelles dans la table de sortie (identifiants, cibles, etc.).
impute Si défini sur True, les observations ayant une valeur non manquante pour la variable cible sont utilisées directement comme valeurs prédites (on suppose qu'elles sont connues sans erreur).
includeMissing Détermine le comportement face aux valeurs manquantes. Si défini sur False, les observations comportant des valeurs manquantes pour les variables du modèle sont exclues. La valeur par défaut est True.
listNode Détermine quels nœuds inclure dans la table de sortie ('ALL', 'HIDDEN', 'INPUT' ou 'OUTPUT'). Particulièrement utile pour récupérer les encodages issus d'un autoencodeur.
modelId Définit le nom de la variable identifiant le modèle dans la table scorée (par défaut _NN_PredName_ pour les classifications et _NN_Pred_ pour les régressions).
target Spécifie la variable cible lors du scoring, si son nom diffère de celui utilisé lors de l'entraînement du modèle.

Préparation des données

Préparation des données de test (Simulation)

Pour illustrer le scoring, nous chargeons une table de données (ici sashelp.iris) dans CAS. Nous supposons qu'un modèle nommé 'my_ann_model' a déjà été créé via l'action 'annTrain'.

1PROC CASUTIL;
2 load DATA=sashelp.iris casout="iris_test" replace;
3QUIT;

Exemples d'utilisation

Scoring simple d'un réseau de neurones

Exécution de l'action annScore de base en spécifiant uniquement la table d'entrée, le modèle et la table de sortie. On conserve la variable cible pour pouvoir comparer.

1PROC CAS;
2 neuralNet.annScore /
3 TABLE={name="iris_test"}
4 modelTable={name="my_ann_model"}
5 casOut={name="iris_scored", replace=True}
6 copyVars={"Species"};
7RUN;
8QUIT;
Résultat Attendu :
Génère une table en mémoire nommée 'iris_scored' contenant la variable originale 'Species' ainsi que les prédictions générées par le modèle.
Scoring avancé avec probabilités et évaluation

Ce code montre comment scorer les données en conservant des variables contextuelles, en excluant les données manquantes, et en formatant les colonnes de probabilités pour une évaluation (assessment) ultérieure complète.

1PROC CAS;
2 neuralNet.annScore /
3 TABLE={name="iris_test", where="SepalLength > 4"}
4 modelTable={name="my_ann_model"}
5 casOut={name="iris_scored_adv", replace=True, promote=True}
6 copyVars={"Species", "SepalLength", "SepalWidth"}
7 assess=True
8 assessOneRow=True
9 includeMissing=False
10 listNode="HIDDEN"
11 target="Species";
12RUN;
13QUIT;
Résultat Attendu :
Crée la table 'iris_scored_adv' (promue au niveau global) avec les probabilités par niveau de classe (préfixées par _NN_P_), les valeurs d'activation des neurones cachés, en excluant les observations incomplètes, et filtrée pour les iris dont la longueur du sépale est supérieure à 4.