nonParametricBayes

gpClass

##set_nonparametricbayes

Description

Exécute une classification par processus gaussien (Gaussian process classification). Cette action permet d'entraîner 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 classification non paramétrique bayésien robuste. Parfait pour séparer vos classes de données avec l'élégance d'une courbe de Gauss, sans se prendre la tête ! Tous les détails de l'implémentation proviennent de la .

Syntaxe Officielle
proc cas;
nonParametricBayes.gpClass /
table={name="nom_table_entree"}
target="variable_cible"
inputs={"var1", "var2"}
nominals={"variable_cible"}
kernel={type="GAUSSIAN", sigma=1.0}
inference={method="LA", maxLaIter=100}
output={casOut={name="table_sortie", replace=true}}
saveState={name="etat_modele", replace=true};
run;
quit;

Paramètres Clés

Nom du paramètre Description
table Spécifie la table de données d'entraînement en entrée pour l'apprentissage du modèle.
target Spécifie la variable cible (à classer) pour l'analyse.
inputs Spécifie les variables explicatives à utiliser pour l'analyse (prédicteurs).
nominals Spécifie les variables nominales (doit généralement inclure au moins votre variable cible catégorielle).
kernel Spécifie le type de noyau (kernel) pour le processus gaussien : 'GAUSSIAN' ou 'LINEAR', ainsi que leurs paramètres spécifiques (comme 'sigma' ou 'constant').
inference Définit la méthode d'inférence du modèle. Typiquement 'LA' (Laplacian approximation) avec ses paramètres comme 'maxLaIter' (itérations) et 'threshold'.
output Crée une table en sortie sur le serveur contenant la classe prédite et la distribution de probabilité pour chaque observation.
saveState Spécifie le nom de la table où sauvegarder l'état du modèle (astore) pour un usage ultérieur en scoring.
testTable Spécifie la table de données de test en entrée pour évaluer les performances du modèle.

Préparation des données

Création de données de classification

Génération d'une table CAS de démonstration avec deux variables explicatives et une cible binaire complexe (non linéaire).

1DATA mycas.train_data;
2 call streaminit(123);
3 DO id = 1 to 500;
4 x1 = rand('Uniform');
5 x2 = rand('Uniform');
6 IF (x1*x1 + x2*x2 < 0.5) THEN class = 'A';
7 ELSE class = 'B';
8 OUTPUT;
9 END;
10RUN;

Exemples d'utilisation

Entraînement avec un noyau Linéaire

Utilisation de l'action gpClass avec un noyau linéaire basique pour classifier les données.

1PROC CAS;
2 nonParametricBayes.gpClass /
3 TABLE={name="train_data"}
4 target="class"
5 inputs={"x1", "x2"}
6 nominals={"class"}
7 kernel={type="LINEAR"}
8 saveState={name="gp_modele_lin", replace=true};
9RUN;
10QUIT;
Résultat Attendu :
Le modèle de processus gaussien est ajusté avec un noyau linéaire et l'état du modèle est exporté dans la table CAS 'gp_modele_lin'.
Classification avancée avec noyau Gaussien

Ce script spécifie un noyau gaussien avec une bande passante (sigma) personnalisée, ajuste l'inférence de l'approximation laplacienne (LA), et génère une table des probabilités prédites tout en sauvegardant l'état du modèle.

1PROC CAS;
2 nonParametricBayes.gpClass /
3 TABLE={name="train_data"}
4 target="class"
5 inputs={"x1", "x2"}
6 nominals={"class"}
7 kernel={type="GAUSSIAN", sigma=0.5}
8 inference={method="LA", maxLaIter=50, threshold=1e-5}
9 OUTPUT={casOut={name="gp_predictions", replace=true}, copyVars={"id", "class"}}
10 saveState={name="gp_modele_gauss", replace=true};
11RUN;
12QUIT;
Résultat Attendu :
Le modèle est entraîné de manière itérative (max 50 itérations). Les prédictions pour chaque ligne sont stockées dans la table 'gp_predictions' en conservant les identifiants d'origine, et l'astore est sauvegardé.