deepNeural

dnnCode

##ai ##deeplearning ##set_deepneural

Description

L'action dnnCode du set d'actions deepNeural est un outil magique qui permet de générer du code de scoringProcessus d'application d'un modèle prédictif à de nouvelles données pour calculer une probabilité ou un score, permettant ainsi d'automatiser la prise de décision en temps réel sur SAS Viya. DATA stepBloc de programmation SAS itératif utilisé pour lire, transformer et manipuler des données ligne par ligne afin de créer des tables de sortie personnalisées et calculer de nouvelles variables. classique à partir d'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 neuronesUn réseau de neurones est un modèle d'IA bio-inspiré composé de couches de nœuds interconnectés, capable d'apprendre des relations complexes dans les données pour prédire ou classifier avec précision. profond (Deep Neural Network) entraîné . En d'autres termes, elle traduit votre IA complexe en un bloc de code SAS traditionnel prêt à être déployé partout, sans dépendances exotiques ni maux de tête en production !

Syntaxe Officielle
proc cas;
deepNeural.dnnCode /
code={casOut={name="nom_table_sortie", caslib="caslib_cible"}, comment=TRUE, fmtWdth=20, indentSize=3, labelId=123, lineSize=120, noTrim=FALSE, tabForm=FALSE}
encodeName=FALSE
initWeights={name="table_poids", caslib="caslib_source"}
modelId="nom_variable_id"
modelTable={name="table_modele", caslib="caslib_source"}
nThreads=4;
run;
quit;

Paramètres Clés

Nom du paramètre Description
code Demande à l'action de produire le code de scoring SAS et configure ses options (comme la table de sortie casOut, l'ajout de commentaires, ou la longueur des lignes) .
encodeName Spécifie s'il faut encoder les noms de variables dans la table CAS générée.
initWeights [REQUIS] Spécifie la table en mémoire contenant les poids du modèle. Indispensable pour donner son 'cerveau' au modèle.
modelId Spécifie le nom de la variable ID du modèle incluse dans le code DATA step (par défaut : variable cible préfixée par DL_).
modelTable [REQUIS] Spécifie la table en mémoire contenant l'architecture structurelle du réseau de neurones.
nThreads Le nombre de threads (cœurs de processeur) à allouer pour la génération.

Préparation des données

Préparation des tables factices

Pour utiliser dnnCode, vous devez généralement avoir entraîné un modèle au préalable via l'action dnnTrain. Pour cet exemple, nous allons simuler l'existence de ces tables avec de fausses données afin que le code de l'action s'exécute avec succès.

1DATA casuser.mon_modele;
2 LENGTH model_id $20;
3 model_id='dummy_architecture';
4RUN;
5DATA casuser.mes_poids;
6 LENGTH weight_id $20;
7 weight_id='dummy_weights';
8RUN;

Exemples d'utilisation

Génération de code de base

Génère un simple code DATA step pour un modèle existant et sauvegarde les instructions textuelles dans une nouvelle table CAS.

1PROC CAS;
2 deepNeural.dnnCode /
3 modelTable={name="mon_modele", caslib="casuser"}
4 initWeights={name="mes_poids", caslib="casuser"}
5 code={casOut={name="code_scoring", caslib="casuser", replace=TRUE}};
6RUN;
7QUIT;
Résultat Attendu :
Une nouvelle table nommée `code_scoring` est créée dans la bibliothèque `casuser`. Elle contient le code source SAS (DATA step) prêt à être récupéré (par ex. via un FETCH) et exécuté.
Génération avancée avec formatage pour les humains

Génération de code avec inclusion de commentaires explicatifs, paramétrage fin de l'indentation, et définition d'un ID de modèle spécifique pour une meilleure traçabilité.

1PROC CAS;
2 deepNeural.dnnCode /
3 modelTable={name="mon_modele", caslib="casuser"}
4 initWeights={name="mes_poids", caslib="casuser"}
5 modelId="DNN_Model_V1"
6 encodeName=TRUE
7 nThreads=4
8 code={
9 casOut={name="code_scoring_avance", caslib="casuser", replace=TRUE},
10 comment=TRUE,
11 fmtWdth=16,
12 indentSize=4,
13 lineSize=100,
14 tabForm=TRUE
15 };
16RUN;
17QUIT;
Résultat Attendu :
La table `code_scoring_avance` est générée. Le code DATA step qu'elle renferme est très bien formaté (indenté de 4 espaces), limité à 100 caractères par ligne pour un confort de lecture optimal, et enrichi de commentaires bien utiles.