La acción factmac entrena un modelo de máquina de factorización (Factorization Machine). Las máquinas de factorización son una clase de modelos que combinan las ventajas de las máquinas de vectores de soporte (SVM) con modelos de factorización. Son particularmente útiles para trabajar con conjuntos de datos dispersos de alta dimensión, como los que se encuentran en sistemas de recomendación o en el modelado de clics.
| Parámetro | Descripción |
|---|---|
| table | Especifica la tabla de entrada que contiene los datos de entrenamiento. (Obligatorio) |
| target | Especifica la variable objetivo (la variable que se desea predecir). |
| inputs | Especifica las variables de entrada (predictores) que se utilizarán en el análisis. |
| nominals | Especifica la lista de variables nominales que se utilizarán en el análisis. |
| nFactors | Especifica el número de factores latentes que se estimarán en el modelo. El valor predeterminado es 5. |
| maxIter | Especifica el número máximo de iteraciones para el proceso de optimización del entrenamiento. El valor predeterminado es 30. |
| learnStep | Especifica la tasa de aprendizaje (learning rate) para el algoritmo de optimización (descenso de gradiente estocástico). El valor predeterminado es 0.001. |
| outModel | Especifica la tabla de salida CAS donde se guardarán los parámetros del modelo estimado (factores latentes y sesgos). |
| output | Crea una tabla de salida que contiene las observaciones puntuadas (predicciones) basadas en el modelo entrenado. |
| saveState | Guarda el estado del modelo en una tabla analítica (astore) para su uso posterior en puntuación (scoring). |
| seed | Especifica la semilla para la generación de números aleatorios, garantizando la reproducibilidad de los resultados. |
| nonNegative | Cuando se establece en True, fuerza a que la factorización de la matriz produzca valores no negativos. |
Crea un conjunto de datos simulado que representa usuarios, películas y las calificaciones otorgadas, típico para sistemas de recomendación.
| 1 | |
| 2 | DATA mycas.ratings; |
| 3 | INPUT user item rating; |
| 4 | DATALINES; |
| 5 | 1 1 5 1 2 3 1 3 4 2 1 4 2 3 2 3 2 5 3 3 3; |
| 6 | |
| 7 | RUN; |
| 8 |
Entrena un modelo simple utilizando las variables de usuario e ítem para predecir la calificación.
| 1 | |
| 2 | PROC CAS; |
| 3 | factmac.factmac / TABLE={name="ratings"} inputs={"user", "item"} nominals={"user", "item"} target="rating"; |
| 4 | |
| 5 | RUN; |
| 6 |
Entrena un modelo configurando el número de factores, iteraciones y tasa de aprendizaje. Además, guarda el modelo, las predicciones y el estado analítico (astore) para uso futuro.
| 1 | |
| 2 | PROC CAS; |
| 3 | factmac.factmac / TABLE={name="ratings"} inputs={"user", "item"} nominals={"user", "item"} target="rating" nFactors=10 maxIter=50 learnStep=0.005 seed=12345 outModel={name="factmac_model", replace=true} OUTPUT={casOut={name="scored_ratings", replace=true}, copyVars="ALL"} saveState={name="factmac_store", replace=true}; |
| 4 | |
| 5 | RUN; |
| 6 |