generateShadowFeatures
Description
L'action generateShadowFeatures crée des 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. dites « ombres » (shadow features ) en permutant les valeurs des 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. d'origine. C'est une technique puissante, souvent utilisée dans des algorithmes comme Boruta, pour évaluer l'importance réelle des 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. : si une variable originale n'est pas plus performante que sa propre « ombre » aléatoire, c'est probablement du bruit ! C'est un peu comme comparer un athlète à son reflet dans un miroir déformant pour voir s'il court vraiment vite.
Paramètres Clés
Préparation des données
Création d'un jeu de données pour le test des ombres
On crée une table simple avec des variables numériques et une variable catégorielle pour tester la génération de caractéristiques.
| 1 | DATA casuser.test_shadow; |
| 2 | INPUT id x1 x2 target $; |
| 3 | DATALINES; |
| 4 | 1 10 0.5 A |
| 5 | 2 20 0.1 B |
| 6 | 3 30 0.9 A |
| 7 | 4 40 0.2 B |
| 8 | 5 50 0.6 A |
| 9 | 6 60 0.3 B |
| 10 | 7 70 0.8 A |
| 11 | 8 80 0.4 B |
| 12 | ; |
| 13 | RUN; |
Exemples d'utilisation
Génération basique d'ombres
Génère 5 ombres par défaut pour les variables x1 et x2.
| 1 | PROC CAS; |
| 2 | dataSciencePilot.generateShadowFeatures / |
| 3 | TABLE={name="test_shadow"}, |
| 4 | casOut={name="shadow_out", replace=true}, |
| 5 | inputs={"x1", "x2"}; |
| 6 | RUN; |
Résultat Attendu :
Génération contrôlée avec sauvegarde du modèle
On limite à 2 ombres, on fixe la graine aléatoire pour la reproductibilité et on sauvegarde l'état pour une utilisation future (scoring).
| 1 | PROC CAS; |
| 2 | dataSciencePilot.generateShadowFeatures / |
| 3 | TABLE={name="test_shadow"}, |
| 4 | casOut={name="shadow_detailed", replace=true}, |
| 5 | inputs={"x1", "x2"}, |
| 6 | nProbes=2, |
| 7 | seed=98765, |
| 8 | saveState={name="shadow_model", replace=true}; |
| 9 | TABLE.columnInfo / TABLE="shadow_detailed"; |
| 10 | RUN; |