Scénario de test & Cas d'usage
Training klassischer künstlicher neuronaler Netze.
Entdecken Sie alle Aktionen von neuralNetErstellt eine Trainingsdatentabelle ('sensor_training') ohne fehlende Werte und eine Scoring-Tabelle ('sensor_aktuell') mit absichtlich eingefügten fehlenden Werten ('.') in den Spalten 'temperatur' und 'vibration'.
| 1 | DATA casuser.sensor_training; |
| 2 | DO maschinen_id = 1 to 1000; |
| 3 | temperatur = 150 + rand('NORMAL', 0, 15); |
| 4 | druck = 50 + rand('NORMAL', 0, 5); |
| 5 | vibration = 5 + rand('NORMAL', 0, 1.5); |
| 6 | ausfall_in_24h = (temperatur > 170 or vibration > 7); |
| 7 | OUTPUT; |
| 8 | END; |
| 9 | RUN; |
| 10 | |
| 11 | DATA casuser.sensor_aktuell; |
| 12 | DO maschinen_id = 1 to 100; |
| 13 | temperatur = 150 + rand('NORMAL', 0, 15); |
| 14 | druck = 50 + rand('NORMAL', 0, 5); |
| 15 | vibration = 5 + rand('NORMAL', 0, 1.5); |
| 16 | IF mod(maschinen_id, 10) = 0 THEN temperatur = . ; /* Fehlender Wert */ |
| 17 | IF mod(maschinen_id, 7) = 0 THEN vibration = . ; /* Fehlender Wert */ |
| 18 | OUTPUT; |
| 19 | END; |
| 20 | RUN; |
| 1 | PROC CAS; |
| 2 | neuralNet.annTrain / |
| 3 | TABLE={name='sensor_training'}, |
| 4 | target='ausfall_in_24h', |
| 5 | inputs={'temperatur', 'druck', 'vibration'}, |
| 6 | modelOut={name='wartungs_modell', replace=true}; |
| 7 | RUN; |
| 8 | QUIT; |
| 1 | PROC CAS; |
| 2 | neuralNet.annScore / |
| 3 | TABLE={name='sensor_aktuell'}, |
| 4 | modelTable={name='wartungs_modell'}, |
| 5 | includeMissing=FALSE, |
| 6 | casOut={name='wartung_prognose_exkl', replace=true}; |
| 7 | RUN; |
| 8 | QUIT; |
| 1 | PROC CAS; |
| 2 | neuralNet.annScore / |
| 3 | TABLE={name='sensor_aktuell'}, |
| 4 | modelTable={name='wartungs_modell'}, |
| 5 | includeMissing=TRUE, |
| 6 | casOut={name='wartung_prognose_inkl', replace=true}; |
| 7 | RUN; |
| 8 | QUIT; |
Zwei Ausgabetabellen werden erstellt. Die Tabelle 'wartung_prognose_exkl' enthält weniger Zeilen als die ursprünglichen 100, da alle Maschinen mit mindestens einem fehlenden Sensorwert entfernt wurden. Die Tabelle 'wartung_prognose_inkl' enthält genau 100 Zeilen, da das Modell versucht hat, auch die unvollständigen Datensätze zu bewerten. Dieser Test validiert das Verhalten des Parameters `includeMissing` und dessen Auswirkung auf das Endergebnis bei unvollständigen Daten.