Sobre la historia de CART y rpart

Hace unos días conversábamos Raúl y yo sobre árboles de clasificación. En particular, hablábamos de CART, el algoritmo propietario de Salford Systems. Me intrigó saber cuál sería la diferencia entre dicho algoritmo y la alternativa existente en R, rpart. El autor de dicho paquete, Terry Therneau, tuvo la gentileza de ofrecer una introducción histórica al particular de la que ofrezco algunos fragmentos que traduzco yo mismo a continuación: … Tanto el programa comercial CART como la función rpart() están basados en el libro Classification and Regression Trees. Como lector y revisor de alguno de sus primeros borradores, llegué a dominar la materia. CART comenzó como un enorme programa en Fortran que escribió Jerry Friedman y que sirvió para contrastar las ideas contenidas en el libro. Tuve el código durante un tiempo y realicé algunos cambios, pero me resultó demasiado frustrante el trabajar con él. Fortran no es el lenguaje adecuado para un algoritmo recursivo… Salford Systems adquirió los derechos de dicho código e ignoro si alguna de las líneas originales permanecen en él todavía. Mantuve muchas conversaciones con su principal programador (hace 15 o 20 años) sobre procedimientos para hacerlo más eficiente, esencialmente un problema interesante de indexación óptima. ...

25 de junio de 2009 · cgbellosta

Lista oficial de ayuda de R en español

Desde hace apenas unas semanas existe una lista de correo de ayuda en español para R. Está gestionada desde los servidores del CRAN. Para darse de alta en ella sólo hay que seguir las instrucciones contenidas en el siguiente enlace: https://stat.ethz.ch/mailman/listinfo/r-help-es Los usuarios de R están más que invitados a participar en ella y ayudar a crear una verdadera comunidad de usuarios, aprovechando sinergias, compartiendo experiencias, etc. Además, se anunciará próximamente a través de esta lista la convocatoria de las primeras jornadas de R en España.

18 de junio de 2009 · cgbellosta

partykit: un paquete de R para generar y manipular árboles de decisión

Los usuarios de R disponen de una serie de algoritmos estándar para generar y manipular árboles de decisión. Los más habituales están contenidos en alguno de los siguientes paquetes: rpart, tal vez mi favorito. RWeka, un paquete más genérico que permite realizar llamadas a funciones de Weka desde R. mvpart. party. Cada uno de ellos tiene un interfaz distinto y operaciones como las de realizar predicciones, dibujar los árboles, etc., exigen conocer funciones específicas. (Éste es, de hecho, un problema genérico de R derivado de su naturaleza cooperativa). ...

9 de junio de 2009 · cgbellosta

Manual. Curso introducción de R. Capítulo 17: Análisis Cluster con R (y III)

Ante el exito de los mensajes dedicados al análisis cluster la nueva entrega del manual de R la dedicaremos de nuevo al análisis de agrupamiento. Como es habitual trabajaremos con un ejemplo que podéis desgargaros aquí. Partimos de un archivo de texto delimitado por tabuladores con 46 frutas y la información que disponemos es: Nombre Intercambio de hidratos de carbono por gramo Kilocalorías Proteinas Grasas (información obtenida de www.diabetesjuvenil.com) El primer paso será crear un objeto en R que recoja los datos en el análisis. Para ello vamos a emplear la función read.table que deberá tener los parámetros adecuados al fichero de texto que deseamos leer: ...

8 de junio de 2009 · rvaquerizo

Muestreo de datos con R

Recientemente hubo una entrada en este blog sobre cómo realizar muestreos aleatorios in tablas SAS. In esta vamos a ver cómo se procedería con R. Consideraremos el conjunto de datos iris —de dimensión 150 x 5— y extraeremos 60 filas con distintos procedimientos. Para el muestreo aleatorio simple sin repetición, basta con hacer: indices <- sample(1:nrow(iris), 60) iris.muestreado <- iris[indices, ] Para realizar un muestreo aleatorio simple con repetición, basta con sustituir la variable indices anterior por: ...

4 de junio de 2009 · cgbellosta

Integración de R con SAS, SPSS y otros

Recientemente se publicó en este blog una entrada haciendo mención a la futura integración de R en SAS. Existe, de hecho, un procedimiento artesanal de lanzar procesos de R desde SAS basado en la posibilidad de realizar llamadas al sistema operativo desde SAS. No obstante, SAS ha decidido ahondar en dicha integración y proporcionarle un marchamo corporativo. Sin embargo, esta iniciativa dista mucho de ser la pionera y merece la pena lanzar una mirada panorámica al mercado. Por ejemplo: ...

3 de junio de 2009 · cgbellosta

SAS comienza a fijarse en R

SAS comienza a fijarse en R. Interesante noticia leída en ComputerWorld: SAS amplía las opciones de análisis avanzado para sus clientes con la nueva interfaz de software estadístico de código abierto R. La integración inicial de R en SAS estará incluida en SAS/IML Studio 3.2 (antes SAS Stat Studio) este verano. Fiel a su filosofía de escuchar a los clientes y dar respuesta a sus necesidades cambiantes, política que le ha proporcionado a la compañía 33 años de crecimiento ininterrumpido, SAS da un paso más y anuncia la introducción del código R dentro del entorno de SAS. De esta forma, los desarrolladores de modelos estadísticos tendrán más opciones para extraer valor de los datos, usando la gran variedad de métodos ofrecidos por SAS a la vez que experimentan con nuevos métodos todavía no implementados en SAS con la interfaz R. ...

28 de mayo de 2009 · rvaquerizo

Manual. Curso introducción de R. Capítulo 16: Análisis Cluster con R (II)

En esta entrega seguimos trabajando con el análisis cluster, viendo más posibilidades que nos ofrece R. Para ello vamos a realizar un estudio de agrupamiento de países europeos en función de algunos indicadores básicos: Superficie Población PIB (en miles de $) Esperanza de vida Índice de desarrollo humano % Población en ciudad Para este estudio contamos con este archivo Excel. El primer paso, por supuesto, es crear un objeto en R: ...

4 de mayo de 2009 · rvaquerizo

Manual. Curso introducción de R. Capítulo 15: Análisis Cluster con R (I)

El propósito del análisis de conglomerados (cluster en terminología inglesa) es agrupar las observaciones de forma que los datos sean muy homogéneos dentro de los grupos (mínima varianza) y que estos grupos sean lo más heterogéneos posible entre ellos (máxima varianza). De este modo obtenemos una clasificación de los datos multivariante con la que podemos comprender mejor los mismos y la población de la que proceden. Podemos realizar análisis cluster de casos, un análisis cluster de variables o un análisis cluster por bloques si agrupamos variables y casos. El análisis cluster se puede utilizar para: ...

23 de abril de 2009 · rvaquerizo

SAS investiga la tecnología de R

Sacado de http://www.decisionstats.com/, muy interesante: A SAS spokesperson has confirmed to this blog that they have invested in the R-Core project to help build next generation algorithms. The new R powered SAS would not be sold as licenses but would be hosted on Amazon EC2, thus users pay only for the time of usage. The shift to SaaS is expected to boost SAS's revenue while at the same time helping small consultants and big clients like banks to cut costs. The official announcement had been planned for release during the RUser conference; however, the announcement was moved earlier due to rumors building up early this week due to leakages from SAS R and D (called birdie leakages). The size of the investment is expected to be more than 20 million USD; the exact amount is expected to be disclosed later. The R Core team would be using this for much needed investments in GUI development and upgradation of the website besides offering R courses in East European universities. An expectation of an annual prize for R User of The Year is also expected to take place. ...

12 de abril de 2009 · rvaquerizo