BeautifulSoup. Web scraping con Python o como las redes sociales pueden estar cambiando la forma de escribir

Desde hace tiempo, mis frases son más cortas. Creo que es un problema de las redes sociales, sobre todo Twitter, que está cambiando mi comportamiento. Para analizar si esto está pasando, se me ha ocurrido analizar la longitud de las frases de este blog desde sus inicios y, de paso, aprovechar para hacer web scraping con la librería BeautifulSoup de Python. La idea es recorrer el blog, calcular la longitud de las frases y representar gráficamente cómo ha ido evolucionando esa longitud. ...

25 de diciembre de 2017 · rvaquerizo

Machine learning. Elegir el mejor Gradient Boost de forma iterativa con GridSearchCV

Carlos [aka «el tete»] me está enseñando Python y una de las cosas que me ha enseñado es seleccionar de forma iterativa el mejor modelo con GridSearchCV y, por si fuera poco, vamos a emplear el método de clasificación «gradient boosting» para que no caiga in desuso, sobre todo porque es una técnica que, bajo mi punto de vista, ofrece modelos muy estables. El ejemplo para ilustrar el proceso ya es conocido, ya que vamos a estimar la letra O (mi talento no da para mucho más). Recordamos los primeros pasos: ...

19 de junio de 2017 · rvaquerizo

Machine learning. Análisis gráfico del funcionamiento de algunos algoritmos de clasificacion

De forma gráfica os voy a presentar algunas técnicas de clasificación supervisada de las más empleadas in Machine Learning y podremos ver cómo se comportan de forma gráfica en el plano. Como siempre, prefiero ilustrarlo a entrar in temas teóricos y, para esta tarea, se me ha ocurrido pintar una letra O y comenzar a trabajar con Python, así de simple. Lo primero es tener los datos; evidentemente serán puntos aleatorios en el plano donde pintamos una variable dependiente con forma de O: ...

3 de mayo de 2017 · rvaquerizo

Mapas municipales de España con Excel y QGIS

Un tuit a @r_vaquerizo me preguntaba por mapas para representar datos a nivel municipal en España. Estas cuestiones las suelen plantear porque los mapas en Excel que hay publicados en el blog están muy extendidos y quieren herramientas similares pero a otro nivel, ya sea comarcal, municipal, código postal… Hacer estos mapas con Excel es muy complicado porque estos mapas no dejan de ser un gran rompecabezas que colocamos en Excel. Sin embargo, podemos emplear QGIS para realizar este tipo de mapas; QGIS es libre, tiene muchas posibilidades y “comunica” a la perfección con Excel. Como ejemplo de ello, vamos a realizar un mapa con la población total de la provincia de Zaragoza. Para esta tarea, el mejor mapa que he encontrado es éste; no tiene restricciones de uso pero, sobre todo, es muy simple y tiene un campo “código de municipio” que nos permite cruzar a la perfección con los datos del INE. Comencemos a trabajar. ...

23 de marzo de 2017 · rvaquerizo

Como obtener los centroides de municipios con SAS. Mapas con SGPLOT

Un amigo y lector del blog me ha pedido un mapa de códigos postales donde poder identificar los centroides para andar calculando distancias a otros puntos. Yo no tengo un mapa de España por códigos postales para poder usar con fines comerciales, pero sí cuento en el blog cómo poder obtenerlo bajo ciertas condiciones. Lo que sí puedo contar a Juan es cómo hacer un mapa por municipios con SAS; aunque ya he hablado de ello, hay ciertos aspectos que pueden ser interesantes. Y todo empieza donde siempre: http://www.gadm.org/country, la web donde tenemos los mapas «libres» por países. Seleccionáis Spain y el formato shapefile; una vez descargados los mapas en vuestros equipos, empezamos con el trabajo en SAS: ...

9 de noviembre de 2016 · rvaquerizo

De estadístico a minero de datos a científico de datos…

Hace unos meses estuve en un data beers que organizó Accenture, que más parecía una reunión de viejas glorias de Neo Metrics, y hablé sobre la transformación de un dinosaurio a un científico de datos; por cierto, me llamó la atención cómo el resto de compañeros hicieron sus presentaciones con software del siglo pasado, y eso que yo era el dinosaurio… Hoy ha salido una noticia sobre el uso de la información de Facebook para tarificar en seguros que define hacia dónde quiero ir y los problemas con los que he de lidiar. Así que hoy voy a escribir sobre mí y la transformación del dinosaurio al científico de datos. ...

3 de noviembre de 2016 · rvaquerizo

El parámetro gamma, el coste, la complejidad de un SVM

Cuando clasificamos datos con SVM (Support Vector Machines), es necesario fijar un margen de separación entre observaciones. Si no fijamos este margen adecuadamente, nuestro modelo podría estar sobrestimando (overfitting), lo que significa que funcionaría muy bien con los datos de entrenamiento pero fallaría con datos nuevos. El coste C y el parámetro gamma son los dos elementos fundamentales con los que contamos en los SVM. El parámetro C es el peso que le damos a cada observación a la hora de clasificar: un mayor coste implicaría un mayor peso de cada observación individual y el SVM sería más estricto. Si tuviéramos un modelo que clasificara observaciones en el plano formando una letra “O”, podemos ver cómo se modifica la estimación al variar el coste: ...

13 de octubre de 2016 · rvaquerizo

Trucos Excel. Mapa de Colombia por departamentos

El mapa para Excel de Colombia por departamentos era tarea pendiente; el modo en el que se ha hecho es el habitual y por ello lo primero que hay que hacer es citar al usuario de Wikipedia Shadowxfox – CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=44930910. Es importante comentar que seleccioné éste por el tamaño; en Excel se ve bien poniendo el zoom al 35% (¡!) y es que cada vez veo menos. El mapa puede representar cinco grupos y estos grupos se pondrán en la columna C, donde podemos cruzar por nombre. Comentar que falta el departamento de las islas de San Andrés y Providencia porque no sabía muy bien cómo ubicarlas y cómo representarlas en el mapa. ...

28 de septiembre de 2016 · rvaquerizo

Como salva la linealidad una `red neuronal`

En los últimos tiempos estoy empeñado en usar redes neuronales para la tarificación en seguros. Históricamente, la tarificación de seguros, el pricing, se ha basado en modelos lineales generalizados (GLM por sus siglas en inglés) porque su estructura es sencilla, se interpreta bien y, no olvidemos, el sector asegurador está regulado y es necesario elaborar una nota detallada de cómo se articula una tarifa; el GLM nos ofrece una estructura multiplicativa que se comprende y con la que los reguladores se sienten muy cómodos. Sin embargo, una red neuronal es el paradigma de “caja negra”; ¿cómo podemos saber qué hace esa caja negra? Estoy trabajando en ello: la descripción del funcionamiento de las ponderaciones de una red está muy arriba en la lista de mis tareas pendientes. ...

27 de septiembre de 2016 · rvaquerizo

Qué pasa si uso una regresión de poisson en vez de una regresión logística

Para un tema de mi trabajo voy a utilizar una regresión de Poisson en vez de una regresión logística; el evento es sí o no y no tiene nada que ver el tiempo, ni se puede contabilizar como un número, pero a efectos prácticos es mejor para mí usar una regresión de Poisson. Entonces, ¿qué pasa si hago una regresión de Poisson en vez de binomial? Como siempre, si mi $n$ es muy grande hay relación entre ambas distribuciones. Pero yo quiero saber si me puede clasificar mis registros igual una regresión logística, una de Poisson y una binomial, y se me ha ocurrido hacer un ejercicio teórico muy simple. ...

19 de septiembre de 2016 · rvaquerizo