?>
La acción `brTrain` del conjunto de acciones `boolRule` extrae reglas booleanas a partir de datos de texto. Esta acción es fundamental en el text mining para descubrir patrones y relaciones en grandes volúmenes de documentos, permitiendo la creación de modelos de clasificación basados en la presencia o ausencia de términos específicos.
| Parámetro | Descripción |
|---|---|
| table | Especifica la tabla de datos de entrada para la extracción de reglas. |
| docId | Especifica la variable en la tabla de entrada que contiene el ID del documento. |
| termId | Especifica la variable en la tabla de entrada que contiene el ID del término. |
| docInfo | Especifica la información sobre la tabla de documentos, incluyendo la tabla en sí, el ID del documento y las variables objetivo. |
| termInfo | Especifica la información sobre la tabla de términos, incluyendo la tabla, el ID del término y la etiqueta del término. |
| gNegative | Especifica la puntuación g mínima necesaria para que un término negativo sea considerado para la extracción de reglas. El valor predeterminado es 8. |
| gPositive | Especifica la puntuación g mínima necesaria para un término positivo. El valor predeterminado es 8. |
| maxCandidates | Especifica el número de términos candidatos a ser seleccionados para cada categoría. El valor predeterminado es 500. |
| maxTriesIn | Especifica el valor k-in para la búsqueda k-best en el proceso de conjunto de términos para crear reglas. El valor predeterminado es 150. |
| maxTriesOut | Especifica el valor k-out para la búsqueda k-best en el proceso de conjunto de reglas para crear un conjunto de reglas. El valor predeterminado es 50. |
| minSupports | Especifica el número mínimo de documentos en los que un término debe aparecer para que se utilice en la creación de una regla. El valor predeterminado es 3. |
| mNegative | Especifica el valor m para calcular la precisión estimada para los términos negativos. El valor predeterminado es 4. |
| mPositive | Especifica el valor m para calcular la precisión estimada para los términos positivos. El valor predeterminado es 2. |
| nThreads | Especifica el número de hilos a utilizar por nodo. |
| casOuts | Especifica las tablas de datos de salida que contendrán los resultados, como las reglas, los términos de las reglas y los términos candidatos. |
| useOldNames | Especifica si se deben usar los nombres de variables antiguos utilizados en el procedimiento HPBOOLRULE. El valor predeterminado es Falso. |
Se crean tres tablas: `mycas.doc_info` con la información de los documentos y sus categorías, `mycas.term_doc` que mapea términos a documentos, y `mycas.term_info` con los detalles de los términos. Estos datos simulan un escenario de clasificación de texto donde se busca extraer reglas para identificar si un documento pertenece a la categoría 'sports'.
1 DATA mycas.doc_info; INFILE DATALINES delimiter=','; INPUT docid varchar(10) category varchar(10); DATALINES; 2 1,sports 3 2,other 4 3,sports 5 4,other 6 5,sports 7 ; 8 RUN; 9 DATA mycas.term_doc; INFILE DATALINES delimiter=','; INPUT _document_ varchar(10) _termnum_ varchar(10); DATALINES; 10 1,1 11 1,2 12 2,3 13 2,4 14 3,1 15 3,5 16 4,4 17 4,6 18 5,2 19 5,5 20 ; 21 RUN; 22 DATA mycas.term_info; INFILE DATALINES delimiter=','; INPUT term_id varchar(10) term_label varchar(20); DATALINES; 23 1,basketball 24 2,score 25 3,finance 26 4,market 27 5,game 28 6,trade 29 ; 30 RUN;
Este ejemplo muestra el uso básico de la acción `brTrain` para extraer reglas booleanas. Se utiliza la tabla de documentos y términos creada anteriormente para identificar reglas que clasifican documentos en la categoría 'sports'.
| 1 | PROC CAS; ACTION boolRule.brTrain / TABLE={name='term_doc'} docId='_document_' termId='_termnum_' docInfo={TABLE={name='doc_info'}, id='docid', targets={'category'}, targetType='BINARY', events={'sports'}} termInfo={TABLE={name='term_info'}, id='term_id', label='term_label'} casOut={name='rules_output', replace=true}; RUN; QUIT; |
Este ejemplo demuestra un uso más avanzado de `brTrain`, ajustando parámetros como `gPositive`, `maxCandidates` y `minSupports` para refinar el proceso de extracción de reglas. Se generan tres tablas de salida: `rules_advanced` para las reglas, `rule_terms_advanced` para los términos de las reglas, y `candidate_terms` para los términos candidatos considerados.
| 1 | PROC CAS; ACTION boolRule.brTrain / TABLE={name='term_doc'} docId='_document_' termId='_termnum_' docInfo={TABLE={name='doc_info'}, id='docid', targets={'category'}, targetType='BINARY', events={'sports'}} termInfo={TABLE={name='term_info'}, id='term_id', label='term_label'} gPositive=5 maxCandidates=100 minSupports=1 maxTriesIn=50 maxTriesOut=20 casOut={rules={name='rules_advanced', replace=true}, ruleTerms={name='rule_terms_advanced', replace=true}, candidateTerms={name='candidate_terms', replace=true}}; RUN; QUIT; |