dataPreprocess catTrans

Maintenance Industrielle : Gestion des Données Manquantes et One-Hot

Scénario de test & Cas d'usage

Contexte Métier

Dans une usine connectée, des capteurs remontent des codes d'état. Souvent, en cas de panne réseau, le code d'état est manquant (NULL). Pour un algorithme de réseau de neurones, ces statuts doivent être encodés en One-Hot (variables binaires), et l'information 'Donnée Manquante' est elle-même prédictive d'une défaillance système grave.
À propos du Set : dataPreprocess

Nettoyage, imputation et préparation des données.

Découvrir toutes les actions de dataPreprocess
Préparation des Données

Simulation de données capteurs avec injection explicite de valeurs manquantes et de chaînes vides.

Copié !
1 
2DATA casuser.iot_sensors;
3LENGTH Sensor_Status $10 Machine_ID $5;
4DO i = 1 to 500;
5Machine_ID = put(i, z5.);
6rand_val = rand('Uniform');
7IF rand_val < 0.1 THEN call missing(Sensor_Status);
8/* Valeur Manquante SAS (.) */ ELSE IF rand_val < 0.2 THEN Sensor_Status = ' ';
9/* Chaîne vide */ ELSE IF rand_val < 0.6 THEN Sensor_Status = 'OK';
10ELSE Sensor_Status = 'WARNING';
11OUTPUT;
12END;
13 
14RUN;
15 

Étapes de réalisation

1
Encodage One-Hot incluant explicitement le groupe 'Manquant'
Copié !
1PROC CAS;
2 dataPreprocess.catTrans
3 TABLE={name='iot_sensors'}
4 inputs={'Sensor_Status'}
5 method='ONEHOT'
6 outVarsNamePrefix='OHE'
7 includeMissingGroup=true
8 casOut={name='iot_prepared', replace=true};
9RUN;
2
Vérification des colonnes générées
Copié !
1 
2PROC CONTENTS
3DATA=casuser.iot_prepared;
4 
5RUN;
6 
7PROC PRINT
8DATA=casuser.iot_prepared(obs=20);
9where OHE_Sensor_Status_Missing = 1;
10 
11RUN;
12 

Résultat Attendu


L'action doit générer des colonnes binaires comme 'OHE_Sensor_Status_OK', 'OHE_Sensor_Status_WARNING', et spécifiquement une colonne pour les manquants (ex: 'OHE_Sensor_Status_Missing') qui contient la valeur 1 lorsque le statut original était vide ou NULL.