Aprende R con swirl

R

Me pasó el otro día Federico Castanedo un enlace a swirl que quiero compartir con mis lectores y, en particular, aquellos que quieren aprender (¡o enseñar!) R.

swirl_new_large_final

¿Cómo funciona? Sencillo:

install.packages("swirl")
library("swirl")
swirl()

(idealmente en RStudio) y luego, click, click, click hasta saber todo lo que merece ser sabido en R.

Watson, no es nada elemental

Hay días en que uno no es que no tenga de qué escribir sino que la cabeza, después de tanto perseguir punteros en C y pastorear hordas de esclavos de Spark, ya no le da. Para ocasiones como esta de hoy guardo en un directorio una serie de artículos que recomendar. Hoy toca Building Watson: An Overview of the DeepQA Project.

Si no sabes qué es Watson, mira esto. Si lo sabes, el artículo anterior te ayudará a desmitificarlo por un lado y a admirarlo, por el otro, tanto o más que esto.

Amanece, me cuentan, que no es poco

El amanecer es una cosa que ocurre a diario, me cuentan, pero que yo apenas he visto. Casi hablo de lo que no sé. Por otra parte, la discusión de los horarios, de si deberíamos tener la hora de Londres y no la de Berlín, me parece puro nominalismo. Unos llaman a la hora a la que se levantan sechs, otros seven, otros huit y yo diez y veinte. Y no pasa nada.

Los tests de hipótesis son los macarrones "con cosas de la nevera"

Todos hemos comido macarrones con cosas de la nevera. Estás en casa, tienes hambre y, si no hay otra cosa, son estupendos. Distinto es ir a un bodorrio de alto copete y decirle al camarero:

—Oiga, esto del solomillo y tal… ¿No tendrán Vds. un platazo de macarrones con cosas de la nevera?

Viene esto a que cierta gente trabaja con grandes datos. Y quieren construir modelos. Y por algún motivo que no comprendo del todo, optan por la regresión logística. Hay mil motivos por los que estaría desaconsejado ajustar regresiones logísticas con todos los datos. Aun así, hay gente —sí, la hay— que lo hace.

Bootstrap bayesiano

Hoy voy a hablar de esa especie de oxímoron que es el bootstrap bayesiano. Comenzaré planteando un pequeño problema bien conocido: tenemos números $x_1, \dots, x_n$ y hemos calculado su media. Pero nos preguntamos cómo podría variar dicha media (de realizarse otras muestras).

La respuesta de Efron (1979) es esta:

replicate(n, mean(sample(x, length(x), replace = TRUE)))

Es decir, crear muestras de $x_i$ con reemplazamiento y hacer la media de cada una de ellas para obtener su presunta distribución (o una muestra de la presunta distribución de esa media).

Experto en Data Science en la U-tad

Se me ha ido pasando y nunca he llegado a escribir aquí que seré uno de los profesores del Experto en Data Science de la U-tad que comienza… de hecho este viernes.

utad

El escribir tan tarde me permite, al menos, presumir de que todo lo bueno que tengo que decir sobre el programa y el claustro no tiene finalidad comercial/propagandística.

Y sí, lo habéis adivinado: la parte del programa que me corresponde tiene que ver con R y algunos de los paquetes que me sacan de apuros a diario (p.e., data.table). Y la otra sobre motores de recomendación. Tema en el que hasta no hace mucho no creía (y tampoco me atraía) pero en el que estoy descubriendo extensiones muy interesantes. Como por ejemplo, esta.

Como leáis esta entrada aprenderéis tanto como lo que desaprenderéis

En serio, aviso: aprenderéis tanto como desaprenderéis si leéis esto.

Por si no os habéis atrevido, os lo resumo. El autor de la cosa ha construido configuraciones de puntos tales como

target_00

y ha creado conjuntos de datos de distinto número de registros con esa distribución de colores. Luego ha puesto varios modelos de clasificación habituales a tratar aprenderla. Y ha obtenido patrones tales como

SVMRBF-10_hyp

Uno puede entretenerse mirando qué modelos ajustan mejor y peor en función del tipo original de configuración, del modelo, del tamaño de la muestra, etc. y, de esa manera, ir construyendo subrepticiamente unas preferencias subconscientes sobre el conjunto de técnicas existentes para solucionar problemas de clasificación binaria.

El problema del 100% (y un ensayo de solución)

Te encargan un modelo. Por ejemplo, relacionado con el uso de tarjetas de débito y crédito (aunque a lo que me referiré ocurre en mil otros contextos). Una variable que consideras importante es la proporción de veces que se usa para sacar dinero de cajeros (y no para pagar en establecimientos). Así que, para cada cliente, divides el número de retiradas por el número de veces que la tarjeta se ha usado y obtienes ese número entre el 0 y el 1 (o entre el 0% y el 100%).

"Lengua y Markov" en MartinaCocina este sábado

Hija de la improvisación de hace un ratico, habrá mañana sábado día 4 (de octubre de 2014), a las 19:00 una reunión de gente poco cabal en MartinaCocina para discutir asuntos relacionados con el análisis de textos (y en una vertiente más lúdica, la generación de textos) usando cadenas de Markov.

Nos juntaremos, entre otros, los autores del Escritor Exemplar (uno de los cuales es quien suscribe) y el de Markov Desencadenado.

markov_desencadenado