Scénario de test & Cas d'usage
Training klassischer künstlicher neuronaler Netze.
Entdecken Sie alle Aktionen von neuralNetErstellung einer Modell-Tabelle, die für den Umgang mit fehlenden Werten konfiguriert ist (Imputation), und einer Scoring-Tabelle mit verschiedenen Arten von fehlenden Werten.
| 1 | DATA casuser.marketing_modell (promote=yes); |
| 2 | INFORMAT _state_ $256. _layerType_ $32. _layerAct_ $32.; |
| 3 | LENGTH _state_ $256 _layerType_ $32 _layerAct_ $32; |
| 4 | INPUT _layerId_ _layerType_ $ _neuronId_ _weight_ _bias_ _layerAct_ $ _state_ $; |
| 5 | DATALINES; |
| 6 | 1 INPUT . . . . \"{\"impute\":\"MEAN\"}\" |
| 7 | 2 HIDDEN 1 0.8 0.2 RELU . |
| 8 | 3 OUTPUT 1 1.5 -0.3 SIGMOID . |
| 9 | ; |
| 10 | RUN; |
| 11 | DATA casuser.kunden_scoring_unvollstaendig (promote=yes); |
| 12 | INPUT KundeID Alter Einkommen; |
| 13 | DATALINES; |
| 14 | 101 34 55000 |
| 15 | 102 . 75000 |
| 16 | 103 45 . |
| 17 | 104 . . |
| 18 | ; |
| 19 | RUN; |
| 1 | PROC CAS; |
| 2 | ACTION neuralNet.annCode / |
| 3 | modelTable={name='marketing_modell', caslib='casuser'} |
| 4 | listNode='HIDDEN' |
| 5 | code={casOut={name='marketing_score_code', caslib='casuser', replace=true}}; |
| 6 | RUN; |
| 7 | QUIT; |
| 1 | PROC CAS; |
| 2 | /* Schritt 2a: Code aus der Tabelle in eine Makrovariable laden */ |
| 3 | SESSION casauto; |
| 4 | DATA _null_; |
| 5 | SET casuser.marketing_score_code; |
| 6 | call symputx('scoringCode', ScoringCode); |
| 7 | RUN; |
| 8 | |
| 9 | /* Schritt 2b: Code ausführen */ |
| 10 | ACTION datastep.runCode / |
| 11 | code = resolve('%bquote(&scoringCode)') |
| 12 | casOut={name='scored_customers', caslib='casuser', replace=true} |
| 13 | TABLE={name='kunden_scoring_unvollstaendig', caslib='casuser'}; |
| 14 | RUN; |
| 15 | QUIT; |
| 1 | PROC CAS; |
| 2 | TABLE.fetch / |
| 3 | TABLE={name='scored_customers', caslib='casuser'}; |
| 4 | RUN; |
| 5 | QUIT; |
Die Aktion generiert erfolgreich einen Scoring-Code, der die Imputationslogik enthält. Die Anwendung dieses Codes auf die Tabelle `kunden_scoring_unvollstaendig` schlägt nicht fehl. Die Ausgabetabelle `scored_customers` enthält für jede Eingabezeile eine Vorhersage, was beweist, dass die fehlenden Werte korrekt behandelt wurden. Die Werte der versteckten Neuronen (z.B. `H_1_1`) sind ebenfalls in der Ausgabe vorhanden.