regression

logisticScore

##set_regression

Description

Cette action permet d'évaluer (scorerAction d'appliquer un modèle statistique à de nouvelles données pour calculer une probabilité ou une valeur prédite. C’est l’étape de déploiement transformant les entrées en prédictions actionnables.) des observations en utilisant 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égression logistiqueModèle statistique prédisant la probabilité d'un événement binaire (0/1) via une fonction logistique. Il lie des variables explicatives à une variable cible catégorielle. préalablement ajusté et sauvegardé. Imaginez que vous venez d'apprendre à 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). à distinguer les bons acheteurs des simples lèche-vitrines... eh bien, voici l'heure de l'examen final pour vos nouvelles données ! L'action prend en entrée un magasin d'analyse (ou astoreFichier binaire compact contenant la logique d'un modèle entraîné (analytique de score). Il permet de déployer et d'exécuter des modèles complexes de manière portable et ultra-rapide dans SAS Viya.) contenant le 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)., spécifié par le paramètre , et les données à évaluer via le paramètre .

Syntaxe Officielle
regression.logisticScore <result=results> <status=rc> /
alpha=double,
casOut={caslib="string", compress=TRUE | FALSE, indexVars={"variable-name-1", ...}, label="string", name="table-name", promote=TRUE | FALSE, replace=TRUE | FALSE, ...},
cBar="string",
copyVars="ALL" | "ALL_NUMERIC" | {"variable-name-1", ...},
difChisq="string",
difDev="string",
display={caseSensitive=TRUE | FALSE, exclude=TRUE | FALSE, excludeAll=TRUE | FALSE, keyIsPath=TRUE | FALSE, names={"string-1", ...}, pathType="LABEL" | "NAME", traceNames=TRUE | FALSE},
fitData=TRUE | FALSE,
h="string",
into="string",
intoCutpt=double,
ipred="string",
lcl="string",
lclm="string",
level="string",
obscat=TRUE | FALSE,
outputTables={groupByVarsRaw=TRUE | FALSE, includeAll=TRUE | FALSE, names={"string-1", ...}, repeated=TRUE | FALSE, replace=TRUE | FALSE},
post="string",
pred="string",
predprobs=TRUE | FALSE,
resChi="string",
resDev="string",
resLik="string",
resRaw="string",
restore={caslib="string", name="table-name", dataSourceOptions={...}, whereTable={...}},
resWork="string",
role="string",
stdResChi="string",
stdResDev="string",
stdXBeta="string",
table={caslib="string", name="table-name", computedVars={{...}}, ...},
ucl="string",
uclm="string",
xBeta="string" ;

Paramètres Clés

Nom du paramètre Description
table Spécifie la table de données d'entrée contenant les nouvelles observations à scorer. C'est l'aliment principal de notre moulinette de probabilités.
restore Spécifie le modèle de régression restauré à partir d'un objet binaire (BLOB ou astore). C'est le cerveau de l'opération.
casOut Définit les paramètres de la table de sortie où les scores et probabilités seront gentiment déposés sur le serveur CAS.
pred Nom de la variable pour la valeur prédite (la probabilité de l'événement). Si non spécifié, elle s'appellera généralement _PRED_. Simple et efficace.
into Nom de la variable qui contiendra le niveau de réponse prédit (la classe gagnante, par exemple 1 ou 0).
copyVars Liste des variables de la table d'entrée à recopier telles quelles dans la table de sortie. Indispensable pour garder trace d'un identifiant client ou d'une clé primaire !
predprobs Si défini à True, affiche les probabilités prédites multinomiales dans des colonnes séparées. Un vrai festival de probabilités détaillées.

Préparation des données

Préparation des données et du modèle

Pour utiliser l'action logisticScore, nous devons d'abord créer des données d'entraînement et de test, puis ajuster un modèle logistique avec l'action regression.logistic et le sauvegarder en mémoire.

1PROC CAS; SESSION casauto; LOADACTIONSET 'regression'; DATA mycas.train_data; call streaminit(12345); DO id=1 to 1000; x1=rand('normal'); x2=rand('uniform'); IF (x1+x2)>0.5 THEN y=1; ELSE y=0; OUTPUT; END; RUN; DATA mycas.score_data; call streaminit(67890); DO id=1001 to 1010; x1=rand('normal'); x2=rand('uniform'); OUTPUT; END; RUN; regression.logistic / TABLE={name='train_data'}, target='y', inputs={'x1', 'x2'}, store={name='my_logistic_model', replace=true}; RUN; QUIT;

Exemples d'utilisation

Scoring simple d'un modèle logistique

Application du modèle sauvegardé sur de nouvelles données pour obtenir les classes prédites et la probabilité associée de l'événement.

1PROC CAS; regression.logisticScore / TABLE={name='score_data'}, restore={name='my_logistic_model'}, casOut={name='scored_results', replace=true}, pred='Probability', into='Predicted_Class', copyVars={'id'}; RUN; QUIT;
Résultat Attendu :
Une table en mémoire nommée 'scored_results' sera créée. Elle contiendra la colonne d'identifiant 'id', la classe prédite 'Predicted_Class' et la probabilité correspondante dans la colonne 'Probability'.
Scoring exhaustif avec probabilités détaillées et limites de confiance

Dans ce scénario avancé, on demande le grand jeu : les probabilités pour chaque classe via le paramètre %%predprobs%%, les limites de confiance de la moyenne (%%lclm%% et %%uclm%%) avec un niveau de confiance ajusté par %%alpha%%, et on recopie toutes les variables d'origine pour une analyse post-scoring digne d'un expert SAS.

1PROC CAS; regression.logisticScore / TABLE={name='score_data'}, restore={name='my_logistic_model'}, casOut={name='detailed_scored_results', replace=true}, predprobs=true, lclm='Lower_CI', uclm='Upper_CI', copyVars='ALL', alpha=0.05; RUN; QUIT;
Résultat Attendu :
Génération de la table 'detailed_scored_results' embarquant toutes les colonnes de la table d'entrée (x1, x2, id), les probabilités individuelles pour les différentes modalités cibles de 'y', ainsi que les intervalles de confiance à 95% (Lower_CI et Upper_CI) de la prédiction moyenne.