Scénario de test & Cas d'usage
Génération d'un jeu de données de capteurs plus volumineux pour tester la charge.
| 1 | |
| 2 | DATA work.sensors; |
| 3 | call streaminit(999); |
| 4 | DO i=1 to 5000; |
| 5 | temp = rand('normal', 90, 10); |
| 6 | vibr = rand('normal', 0.5, 0.1); |
| 7 | pressure = rand('uniform', 10, 50); |
| 8 | IF temp > 110 or vibr > 0.8 THEN STATUS='Fail'; |
| 9 | ELSE STATUS='OK'; |
| 10 | OUTPUT; |
| 11 | END; |
| 12 | |
| 13 | RUN; |
| 14 |
| 1 | |
| 2 | PROC CAS; |
| 3 | upload path="%sysfunc(pathname(work))/sensors.sas7bdat" casout={name="sensors", replace=true}; |
| 4 | |
| 5 | QUIT; |
| 6 |
| 1 | |
| 2 | PROC CAS; |
| 3 | mlTools.crossValidate / kFolds=10 modelType="DECISIONTREE" parallelFolds=TRUE seed=42 trainOptions={TABLE={name="sensors"}, target="status", inputs={"temp", "vibr", "pressure"}, nominals={"status"}}; |
| 4 | |
| 5 | QUIT; |
| 6 |
L'exécution doit se terminer sans erreur, en utilisant les threads parallèles pour traiter les 10 plis simultanément. Les logs doivent indiquer l'initialisation et la fin des plis (grâce au logLevel par défaut).