Scénario de test & Cas d'usage
Modèles d'arbres de régression additive bayésienne.
Découvrir toutes les actions de bartCréation d'une table de biens immobiliers avec des valeurs manquantes intentionnelles dans des variables numériques et catégorielles.
| 1 | DATA mycas.biens_immobiliers; |
| 2 | call streaminit(987); |
| 3 | LENGTH type_chauffage $ 15; |
| 4 | DO i = 1 to 2000; |
| 5 | surface_habitable = rand('NORMAL', 150, 40); |
| 6 | nb_chambres = rand('INTEGER', 2, 5); |
| 7 | IF rand('UNIFORM') < 0.7 THEN type_chauffage = 'Gaz'; |
| 8 | ELSE IF rand('UNIFORM') < 0.85 THEN type_chauffage = 'Electrique'; |
| 9 | ELSE type_chauffage = 'Pompe a chaleur'; |
| 10 | surface_garage = rand('NORMAL', 20, 5); |
| 11 | /* Introduction des valeurs manquantes */ |
| 12 | IF mod(i, 10) = 0 THEN call missing(surface_garage); |
| 13 | IF mod(i, 25) = 0 THEN call missing(type_chauffage); |
| 14 | prix_vente = 150000 + (surface_habitable * 1000) + (nb_chambres * 5000) + (surface_garage * 200) + rand('NORMAL', 0, 10000); |
| 15 | OUTPUT; |
| 16 | END; |
| 17 | RUN; |
| 1 | PROC CAS; |
| 2 | bart.bartGauss / |
| 3 | TABLE={name='biens_immobiliers'}, |
| 4 | model={depVars={{name='prix_vente'}}, effects={{vars={'surface_habitable', 'nb_chambres', 'type_chauffage', 'surface_garage'}}}}, |
| 5 | class={{vars={'type_chauffage'}}}, |
| 6 | missing='SEPARATE', |
| 7 | outputTables={names={'MissingInfo', 'LevelInfo'}}; |
| 8 | RUN; |
| 1 | PROC CAS; |
| 2 | TABLE.fetch / TABLE={name='MissingInfo'}; |
| 3 | TABLE.fetch / TABLE={name='LevelInfo', where="Class = 'type_chauffage'"}; |
| 4 | RUN; |
| 1 | PROC CAS; |
| 2 | bart.bartGauss / |
| 3 | TABLE={name='biens_immobiliers'}, |
| 4 | model={depVars={{name='prix_vente'}}, effects={{vars={'surface_habitable', 'nb_chambres', 'type_chauffage', 'surface_garage'}}}}, |
| 5 | class={{vars={'type_chauffage'}}}, |
| 6 | missing='NONE'; |
| 7 | RUN; |
Étape 1: L'action s'exécute et produit un modèle. La table 'MissingInfo' doit indiquer que des valeurs manquantes ont été trouvées et comment elles ont été gérées. La table 'LevelInfo' doit montrer un niveau supplémentaire pour la variable 'type_chauffage' correspondant aux observations manquantes. Étape 3: L'action doit s'arrêter ou émettre un avertissement clair dans le log indiquant que des valeurs manquantes ont été trouvées mais que le paramètre 'missing' est réglé sur 'NONE', et que ces observations ont été exclues de l'analyse.