Trucos R. Llevar a SAS las reglas de un `árbol de decisión`

Vuelvo hoy con el uso de rpart para la creación de árboles de decisión con R. Pero hoy, además de realizar un modelo de árbol con R quiero presentaros una función que nos permite guardar las reglas generadas con nuestro modelo en un fichero de texto para su posterior utilización con SAS. Retomamos un ejemplo visto con anterioridad en bitácora con ligeras modificaciones: #Inventamos un objeto para realizar el modelo #En una cartera de clientes nuestro modelo tiene que identificar #cuales contratan un PVI # clientes=20000 saldo_vista=runif(clientes,0,1)*10000 saldo_ppi=(runif(clientes,0.1,0.2)*rpois(clientes,1))*100000 saldo_fondos=(runif(clientes,0.1,0.9)*(rpois(clientes,1)-1>0))*100000 edad=rpois(clientes,60) datos_ini<-data.frame(cbind(saldo_vista,saldo_ppi,saldo_fondos,edad)) datos_inisaldo_ppi=(edad<=68)*datos_inisaldo_ppi #Creamos la variable objetivo a partir de un potencial datos_inipotencial=runif(1,0,1)+ (log(edad)/(log(68))/100) + runif(1,0,0.001)*(saldo_vista>5000)+ runif(1,0,0.001)*(saldo_fondos>10000)+ runif(1,0,0.007)*(saldo_ppi>10000)- runif(1,0,0.2) datos_inipvi=as.factor((datos_inipotencial>=quantile(datos_inipotencial, 0.90))*1) # #Empleamos rpart para la realización del modelo # library(rpart) arbol= rpart(as.factor(pvi)~edad+saldo_ppi+saldo_fondos, data=datos_ini,method="anova", control=rpart.control(minsplit=30, cp=0.0008) ) Tenemos un objeto rpart llamado arbol. En este punto necesitamos disponer de las reglas generadas por el modelo para SAS, donde el módulo específico para poder realizar determinados modelos tiene un precio muy alto. Buscando en Google encontraremos este link. En él tenemos una genial función de R list.rules.rpart que nos permite identificar las reglas que ha generado el modelo. Modificamos ligeramente esta función para que nos sirva en nuestros propósitos: ...

10 de junio de 2011 · rvaquerizo

Monográfico. Arboles de decisión con party

Los árboles de clasificación son una de las técnicas de análisis más utilizadas. No requieren supuestos distribucionales, permite detectar interacciones entre variables y no es muy sensible a la presencia de valores perdidos y outliers. En resumen, es una técnica que no quita mucho tiempo al analista para hacer consultas carentes de valor para sus responsables y permite identificar tanto perfiles positivos como perfiles negativos. Además, sus resultados son muy fáciles de interpretar. Tan fáciles que, INCLUSO , las áreas de negocio pueden entender sus resultados. Por todo esto estamos ante una de las técnicas más extendidas. En el blog ya hicimos un breve monográfico con rpart de R y nos quedaba realizar una revisión al paquete party. La metodología para esta rápida revisión será la habitual, planteamos un ejemplo y realizamos un análisis con las instrucciones de party. ...

9 de enero de 2010 · rvaquerizo