neuralNet

annTrain

##set_neuralnet

Description

L'action annTrain entraîne 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 artificiels (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).). Elle prend en charge diverses architectures comme les perceptrons multicouches (MLPType de réseau de neurones artificiels (ANN) superposant plusieurs couches de neurones. Dans SAS Viya, il est utilisé pour la classification et la régression sur des relations de données non linéaires.) et les modèles linéaires généralisés (GLIM). Très complète, elle permet de gérer les fonctions d'activation, l'optimisation (LBFGS, SGD), et le dropout pour éviter que votre 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). n'apprenne par cœur les données comme un étudiant la veille d'un examen ! 🧠📚 Source :

Syntaxe Officielle
proc cas;
neuralNet.annTrain /
table={name="nom_table"}
inputs={"var1", "var2"}
target="variable_cible"
hiddens={10, 5}
acts={"RECTIFIER"}
casOut={name="modele_out", replace=true};
quit;

Paramètres Clés

Nom du paramètre Description
table Spécifie la table d'entrée (obligatoire).
inputs Liste des variables d'entrée à utiliser dans l'analyse (obligatoire).
target Variable cible (réponse) pour l'entraînement supervisé. Sans cette option, l'action entraîne un auto-encodeur.
hiddens Spécifie le nombre de neurones pour chaque couche cachée. Par exemple, {5, 3} crée deux couches de 5 et 3 neurones.
acts Fonctions d'activation pour les neurones des couches cachées (ex: RECTIFIER, TANH, LOGISTIC).
nloOpts Options du solveur d'optimisation non linéaire (algorithme SGD, ADAM, LBFGS, etc.).

Préparation des données

Chargement des données Iris

Ce code charge la célèbre table sashelp.iris en mémoire CAS pour l'entraînement.

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

Exemples d'utilisation

Entraînement d'un perceptron multicouche simple

Entraîne un réseau de neurones avec une seule couche cachée de 5 neurones pour prédire l'espèce d'iris.

1PROC CAS;
2 neuralNet.annTrain /
3 TABLE={name="iris"}
4 inputs={"SepalLength", "SepalWidth", "PetalLength", "PetalWidth"}
5 nominals={"Species"}
6 target="Species"
7 hiddens={5}
8 acts={"TANH"}
9 casOut={name="iris_model", replace=true};
10QUIT;
Résultat Attendu :
Le log affichera le résumé de l'itération de l'optimisation et créera une table 'iris_model' contenant les poids du modèle entraîné.
Réseau profond avec Dropout et LBFGS

Entraîne un réseau profond (10, puis 5 neurones) utilisant une activation ReLU, un dropout pour régulariser, et l'optimiseur LBFGS.

1PROC CAS;
2 neuralNet.annTrain /
3 TABLE={name="iris"}
4 inputs={"SepalLength", "SepalWidth", "PetalLength", "PetalWidth"}
5 nominals={"Species"}
6 target="Species"
7 hiddens={10, 5}
8 acts={"RECTIFIER"}
9 dropOut=0.2
10 randDist="XAVIER"
11 nloOpts={algorithm="LBFGS", optmlOpt={maxIters=100}}
12 casOut={name="iris_deep_model", replace=true};
13QUIT;
Résultat Attendu :
L'action effectue au maximum 100 itérations avec l'algorithme LBFGS. Les poids initiaux sont générés selon la distribution Xavier. La table finale 'iris_deep_model' peut ensuite être utilisée avec l'action annScore pour générer des prédictions ou évaluée pour des tâches de classification.