Scénario de test & Cas d'usage
Données d'avis clients hétérogènes. Partitionnement non explicite (géré par l'option de validation).
| 1 | |
| 2 | DATA mycas.reviews; |
| 3 | LENGTH text $200 target $200; |
| 4 | INFILE DATALINES delimiter='|'; |
| 5 | INPUT text $ target $; |
| 6 | DATALINES; |
| 7 | Produit excellent mais trop cher|O B-POS O B-NEG I-NEG Livraison rapide et soignée|B-POS I-POS O B-POS Mauvaise qualité très déçu|B-NEG I-NEG O O ; |
| 8 | |
| 9 | RUN; |
| 10 |
| 1 | /* Chargement via data step */ |
| 1 | |
| 2 | PROC CAS; |
| 3 | conditionalRandomFields.crfTrain / TABLE={name='reviews', caslib='mycas'}, target='target', template='U:w[0]', model={name='review_model', caslib='mycas', replace=true}, nloOpts={validate={frequency=1, threshold=0.10, stagnation=3}, optmlOpt={regL1=0.05}}; |
| 4 | |
| 5 | RUN; |
| 6 | |
| 7 | QUIT; |
| 8 |
L'entraînement doit afficher des métriques de validation dans le journal à chaque itération (frequency=1). L'entraînement doit s'arrêter potentiellement avant le nombre max d'itérations si le seuil d'erreur (threshold) est atteint ou si la stagnation est détectée.