detectInteractions
Description
L'action fait partie du jeu d'actions (dataSciencePilot). Elle permet de détecter et de classer de manière automatique les interactions pertinentes entre les variablesColonnes d'une table SAS contenant des données spécifiques (numériques ou caractères). Elles possèdent des attributs comme le nom, le type, la longueur, l'étiquette et le format d'affichage. prédictives vis-à-vis d'une variable cible. C'est l'outil parfait pour débusquer des relations complexes ou cachées dans vos données avant d'alimenter vos modèles de machine learningBranche de l'IA utilisant des algorithmes pour apprendre des modèles à partir de données. Il permet d'automatiser des prédictions ou des décisions sans programmation explicite de chaque règle.. Voyez-la comme le détective privé attitré de votre pipelineChaîne de flux de données automatisée intégrant prétraitement, sélection de variables et modèles supervisés pour comparer leurs performances et déployer le meilleur candidat dans SAS Viya. de données !
Paramètres Clés
| Nom du paramètre | Description |
|---|---|
| table | La table CAS d'entrée contenant les données que vous souhaitez analyser. |
| casOut | Spécifie la table CAS de sortie où seront stockés les résultats des interactions détectées ainsi que leurs métriques de classement. |
| target | La variable cible de l'analyse (la variable que vous chercherez in fine à prédire). |
| inputs | La liste des variables prédictives à explorer. Si ce paramètre est omis, l'action teste toutes les variables de la table. |
| event | Spécifie le niveau (la valeur) de la variable cible à modéliser. Très utile pour transformer une classification multi-classes en un problème binaire un-contre-tous. |
| rankMetric | La métrique mathématique utilisée pour agréger et classer la force des interactions. Les options sont , ou . |
| maxNumInteractions | Le nombre maximum de paires candidates d'interaction à retenir pour chaque projection. Idéal pour limiter le bruit et le temps de calcul (valeur par défaut : 1500). |
Préparation des données
Création d'un jeu de données de test avec des interactions cachées
Nous allons générer une table de test où l'interaction précise entre x1 et x2 est le facteur principal pour définir la valeur de notre cible (target_bin). Voyons si l'action est assez maligne pour détecter ce complot !
| 1 | DATA public.mydata; |
| 2 | call streaminit(12345); |
| 3 | DO i = 1 to 1000; |
| 4 | x1 = rand('uniform'); |
| 5 | x2 = rand('uniform'); |
| 6 | x3 = rand('uniform'); |
| 7 | x4 = rand('normal'); |
| 8 | /* L'interaction pure entre x1 et x2 influence la cible */ |
| 9 | target_score = (x1 * x2 > 0.25) + (x3 > 0.5) + rand('normal', 0, 0.1); |
| 10 | target_bin = ifc(target_score > 1, 'Oui', 'Non'); |
| 11 | OUTPUT; |
| 12 | END; |
| 13 | RUN; |
Exemples d'utilisation
Détection basique et aveugle des interactions
On lance l'action avec les paramètres minimaux requis pour chercher des paires de variables fortement corrélées avec la modalité 'Oui' de notre cible.
| 1 | PROC CAS; |
| 2 | dataSciencePilot.detectInteractions / |
| 3 | TABLE={name="mydata", caslib="public"} |
| 4 | target="target_bin" |
| 5 | event="Oui" |
| 6 | casOut={name="interactions_trouvees", caslib="public", replace=true}; |
| 7 | RUN; |
Résultat Attendu :
Analyse ciblée avec ajustement de la métrique et filtrage
Une approche plus professionnelle : on restreint les variables d'entrée via %%inputs%%, on utilise la médiane (%%MEDIAN%%) pour éviter de biaiser le score par des valeurs extrêmes, et on filtre les probabilités de corrélation trop faibles.
| 1 | PROC CAS; |
| 2 | dataSciencePilot.detectInteractions / |
| 3 | TABLE={name="mydata", caslib="public"} |
| 4 | target="target_bin" |
| 5 | event="Oui" |
| 6 | inputs={"x1", "x2", "x3", "x4"} |
| 7 | nominals={"target_bin"} |
| 8 | rankMetric="MEDIAN" |
| 9 | maxNumInteractions=100 |
| 10 | minInteractionProbability=0.05 |
| 11 | casOut={name="interactions_fines", caslib="public", replace=true}; |
| 12 | RUN; |