gpClass
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 .
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).
| 1 | DATA 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; |
| 10 | RUN; |
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.
| 1 | PROC 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}; |
| 9 | RUN; |
| 10 | QUIT; |
Résultat Attendu :
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.
| 1 | PROC 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}; |
| 11 | RUN; |
| 12 | QUIT; |