Scénario de test & Cas d'usage
Nettoyage, imputation et préparation des données.
Découvrir toutes les actions de dataPreprocessCréation d'une table volumineuse (2 millions de transactions) avec un montant et une pondération.
| 1 | DATA mycas.transactions_risk (copies=3); |
| 2 | call streaminit(456); |
| 3 | DO id_tx = 1 to 2000000; |
| 4 | montant_tx = rand('LOGNORMAL', 4, 1.5) * 100; |
| 5 | poids = ifn(montant_tx > 5000, 2, 1); /* Pondération plus forte pour les grosses transactions */ |
| 6 | OUTPUT; |
| 7 | END; |
| 8 | RUN; |
| 1 | PROC CAS; |
| 2 | dataPreprocess.binning / |
| 3 | TABLE={name='transactions_risk', caslib='mycas'}, |
| 4 | inputs={{name='montant_tx'}}, |
| 5 | method='BUCKET', |
| 6 | nBinsArray=1000, |
| 7 | weight='poids', |
| 8 | casOut={name='tx_binned', caslib='mycas', replace=true, label='Transactions discrétisées'}, |
| 9 | casOutBinDetails={name='tx_bin_details', caslib='mycas', replace=true}; |
| 10 | RUN; |
L'action s'exécute avec succès sur les 2 millions d'enregistrements. La table `mycas.tx_binned` contient les données originales et la nouvelle variable `bin_montant_tx` avec des valeurs de 1 à 1000. La table `mycas.tx_bin_details` est créée et contient les métadonnées pour chaque classe (bornes, nombre d'observations pondéré et non pondéré), permettant aux analystes de rapidement visualiser la distribution des montants de transaction.