binning
Description
L'action binning permet de transformer 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. numériques continues en 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. discrètes par intervalles (binning). C'est l'outil idéal pour simplifier vos données avant une modélisationProcessus de création de structures mathématiques ou statistiques sur SAS Viya pour prédire des comportements, classifier des données ou identifier des tendances à partir de jeux de données CAS. ou pour créer des groupes homogènes. Imaginez que vous triez vos pièces de monnaie par valeur plutôt que de peser chaque pièce individuellement : c'est exactement ce que fait le binning pour vos données ! Cette action supporte plusieurs méthodes comme les seaux de largeur égale (BUCKET), les quantilesLes quantiles sont des valeurs divisant un jeu de données trié en intervalles égaux. Ils permettent d'analyser la distribution et la dispersion des données (ex: quartiles pour des segments de 25%). (QUANTILE) ou des points de coupure personnalisés (CUTPTS).
Paramètres Clés
Préparation des données
Création de données de test pour le binning
Ce code génère une table CAS nommée 'CARS_DATA' basée sur la table classique SASHELP.CARS pour tester les fonctionnalités de discrétisation.
| 1 | PROC CAS; |
| 2 | TABLE.loadTable / path="cars.sashdat", caslib="Samples", casOut={name="cars_data", replace=true}; |
| 3 | TABLE.columnInfo / TABLE="cars_data"; |
| 4 | RUN; |
Exemples d'utilisation
Binning par défaut (Bucket)
Découpe la variable 'MSRP' (prix) en 5 segments de largeur égale.
| 1 | PROC CAS; |
| 2 | dataPreprocess.binning / |
| 3 | TABLE={name="cars_data"}, |
| 4 | inputs={{name="MSRP"}}, |
| 5 | casOut={name="cars_binned", replace=true}; |
| 6 | TABLE.fetch / TABLE="cars_binned", to=10; |
| 7 | RUN; |
Résultat Attendu :
Transformation complexe avec Quantiles et génération de code
Cet exemple utilise la méthode des quantiles pour diviser le poids (Weight) et la puissance (Horsepower) en 10 groupes, tout en demandant les détails du binning et le code DATA Step.
| 1 | PROC CAS; |
| 2 | dataPreprocess.binning / |
| 3 | TABLE={name="cars_data", where="Horsepower > 100"}, |
| 4 | method="QUANTILE", |
| 5 | nBinsArray={10}, |
| 6 | inputs={{name="Weight"}, {name="Horsepower"}}, |
| 7 | binMissing=true, |
| 8 | casOut={name="cars_quantile_scored", replace=true}, |
| 9 | casOutBinDetails={name="bin_details", replace=true}, |
| 10 | code={casOut={name="bin_code", replace=true}}, |
| 11 | copyVars={"Make", "Model"}; |
| 12 | /* Visualisation des détails des segments */ |
| 13 | TABLE.fetch / TABLE="bin_details"; |
| 14 | /* Visualisation du code généré */ |
| 15 | TABLE.fetch / TABLE="bin_code"; |
| 16 | RUN; |