gamScore
Description
L'action gamScoreAction SAS Viya permettant d'appliquer un modèle additif généralisé (GAM) entraîné à de nouvelles données pour calculer des prédictions ou des probabilités de manière optimisée et distribuée., issue de l'ensemble d'actions Generalized Additive Models (GAMModèle additif généralisé étendant le modèle linéaire en utilisant des fonctions de lissage non linéaires. Il permet de capturer des relations complexes entre les variables sans forme prédéfinie.), est l'outil privilégié pour appliquer 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). non-linéaire entraîné à de nouvelles observations. Imaginez que vous ayez capturé des courbes sinueuses et complexes avec l'action gampl ou gamSelect ; gamScoreAction SAS Viya permettant d'appliquer un modèle additif généralisé (GAM) entraîné à de nouvelles données pour calculer des prédictions ou des probabilités de manière optimisée et distribuée. est là pour projeter ces connaissances sur vos nouvelles données CAS. Elle calcule non seulement les prédictions (moyennes), mais peut aussi décomposer la contribution de chaque spline individuelle (composantes), tout en fournissant des intervalles de confiance BayesianPlage de valeurs, appelée intervalle de crédibilité, indiquant la probabilité qu'un paramètre s'y trouve selon la distribution de probabilité a posteriori combinant données et connaissances a priori. et divers types de résidus. C'est l'étape cruciale pour passer de l'apprentissage à la production .
Paramètres Clés
| Nom du paramètre | Description |
|---|---|
| alpha | Spécifie le niveau de signification (par exemple 0.05) pour la construction des bandes de confiance Bayesian. |
| casOut | Définit la table de destination sur le serveur CAS qui contiendra les statistiques calculées par observation (prédictions, résidus, etc.). |
| component | Si positionné à TRUE, l'action génère des colonnes supplémentaires pour chaque terme de spline individuel du modèle, permettant de voir l'influence spécifique de chaque variable. |
| copyVars | Liste des variables de la table d'entrée (table de scoring) à copier directement dans la table de sortie. |
| into | Pour les modèles avec réponse binaire, spécifie le nom de la variable contenant le niveau de réponse prédit. |
| intoCutpt | Définit le seuil de probabilité (entre 0 et 1) utilisé pour classer les observations dans une catégorie de réponse binaire. |
| lower | Nom de la variable pour la borne inférieure de l'intervalle de confiance Bayesian. |
| maxNameLen | Définit la longueur maximale autorisée pour les noms des nouvelles colonnes générées dans la table de sortie. |
| model | Spécifie la table CAS contenant le modèle binaire préalablement sauvegardé lors de l'entraînement (paramètre obligatoire). |
| pearson | Nom de la variable pour le calcul du résidu chi-deux de Pearson. |
| pred | Nom de la variable pour la valeur prédite (la moyenne). Par défaut, elle se nomme 'Pred'. |
| resid | Nom de la variable pour le calcul du résidu brut (différence entre observation et prédiction). |
| std | Spécifie le nom de la variable pour l'erreur type du prédicteur linéaire. |
| table | Spécifie la table de données CAS à laquelle appliquer le modèle pour générer les scores (paramètre obligatoire). |
| upper | Nom de la variable pour la borne supérieure de l'intervalle de confiance Bayesian. |
| xBeta | Nom de la variable pour le prédicteur linéaire (valeur avant l'application de la fonction de lien). |
Préparation des données
Création d'un modèle GAM pour le test
Génère un jeu de données non-linéaire et crée un modèle binaire via gampl afin de pouvoir tester l'action gamScore.
| 1 | DATA casuser.test_gam; |
| 2 | DO i = 1 to 1000; |
| 3 | x1 = rannor(1); |
| 4 | x2 = rannor(1); |
| 5 | y = 2*sin(x1) + x2**2 + rannor(1); |
| 6 | OUTPUT; |
| 7 | END; |
| 8 | RUN; |
| 9 | PROC CAS; |
| 10 | /* Entraînement préalable du modèle */ |
| 11 | gam.gampl TABLE={name="test_gam", caslib="casuser"}, |
| 12 | model={depVars="y", splines={"x1", "x2"}}, |
| 13 | outModel={name="gam_trained_model", replace=true}; |
| 14 | RUN; QUIT; |
Exemples d'utilisation
Scoring de base
Applique le modèle entraîné sur les données d'origine pour obtenir les prédictions par défaut.
| 1 | PROC CAS; |
| 2 | gam.gamScore TABLE="test_gam", |
| 3 | model="gam_trained_model", |
| 4 | casOut={name="predictions_simples", replace=true}; |
| 5 | RUN; QUIT; |
Résultat Attendu :
Scoring complet avec statistiques de diagnostic
Cet exemple calcule les prédictions, les résidus, l'erreur type, les bandes de confiance à 95% et décompose les contributions des splines (component).
| 1 | PROC CAS; |
| 2 | gam.gamScore / |
| 3 | TABLE={name="test_gam", caslib="casuser"}, |
| 4 | model={name="gam_trained_model", caslib="casuser"}, |
| 5 | alpha=0.05, |
| 6 | component=true, |
| 7 | copyVars={"x1", "x2", "y"}, |
| 8 | casOut={name="gam_diagnostics", replace=true}, |
| 9 | pred="P_moyenne", |
| 10 | resid="R_brut", |
| 11 | std="E_type", |
| 12 | lower="IC_inf", |
| 13 | upper="IC_sup", |
| 14 | xBeta="Pred_lineaire"; |
| 15 | RUN; QUIT; |