Scénario de test & Cas d'usage
Erstellt eine große Tabelle 'kredit_antraege' (500.000 Zeilen) mit dem Einkommen, Alter, der Postleitzahl des Antragstellers und einem normalisierten Kredit-Score als Zielvariable.
| 1 | DATA casuser.kredit_antraege; |
| 2 | DO i = 1 to 500000; |
| 3 | einkommen = 30000 + 120000 * rand('UNIFORM'); |
| 4 | alter = 21 + 49 * rand('UNIFORM'); |
| 5 | plz = 'PLZ_' || put(rand('INTEGER', 1, 9999), z4.); |
| 6 | kredit_score = 600 + 0.002 * einkommen - 2 * alter + rand('NORMAL', 0, 30); |
| 7 | OUTPUT; |
| 8 | END; |
| 9 | RUN; |
| 1 | |
| 2 | PROC CASUTIL; |
| 3 | load |
| 4 | DATA=casuser.kredit_antraege outcaslib='casuser' casout='kredit_antraege' replace; |
| 5 | RUN; |
| 6 |
| 1 | PROC CAS; |
| 2 | bart.bartGauss / |
| 3 | TABLE={name='kredit_antraege'}, |
| 4 | target='kredit_score', |
| 5 | inputs={{name='einkommen'}, {name='alter'}}, |
| 6 | nominals={{name='plz'}}, |
| 7 | nTree=100, |
| 8 | nBI=500, |
| 9 | nMC=2000, |
| 10 | nBins=50, |
| 11 | quantileBin=true, |
| 12 | trainInMem=true, |
| 13 | seed=123; |
| 14 | RUN; |
| 15 | QUIT; |
Die Aktion schließt die Verarbeitung der 500.000 Beobachtungen innerhalb einer akzeptablen Zeit ab. Die Verwendung von 'quantileBin=true' und 'nBins=50' führt zu einer effizienten Handhabung der kontinuierlichen Prädiktoren. Das Modell wird erfolgreich trainiert, und die Ausgabeprotokolle zeigen die Zusammenfassung des Laufs, ohne Speicher- oder Leistungsfehler anzuzeigen.