Transformaciones de variables cuantitativas en modelos binomiales

Para mejorar la capacidad predictiva de nuestros modelos binomiales, es recomendable transformar las variables independientes. Existen técnicas que lo hacen de modo automático, pero hoy os quería mostrar en un vídeo un método “casero” para agrupar una variable cuantitativa con respecto a una variable respuesta, todo muy orientado a que la transformación tenga un sentido de negocio. El código empleado para hacer el vídeo es el siguiente: from urllib.request import urlretrieve import pandas as pd import numpy as np import matplotlib.pyplot as plt link = 'https://raw.githubusercontent.com/yhat/demo-churn-pred/master/model/churn.csv' urlretrieve(link, "churn.csv") df = pd.read_csv("churn.csv") df.head(5) # Visualización de la variable objetivo pd.crosstab(df['Churn?'], columns='count').plot(kind='bar') plt.show() # Creación de la variable target numérica df['churn_num'] = np.where(df['Churn?'] == 'True.', 1, 0) # Análisis de la variable 'Day Mins' print(df['Day Mins'].describe()) plt.hist(df['Day Mins'], bins=20) plt.show() # Transformación casera: agrupamiento por tramos de 10 minutos con límites df['minutos_cat'] = np.where(df['Day Mins'] >= 270, 270, (df['Day Mins'] // 10) * 10) df['minutos_cat'] = np.where(df['minutos_cat'] <= 70, 70, df['minutos_cat']) # Cálculo de tasa de churn por tramo churn_rate = df.groupby('minutos_cat')['churn_num'].mean() counts = df.groupby('minutos_cat')['churn_num'].count() # Gráfico de doble eje: volumen de clientes y tasa de churn fig, ax1 = plt.subplots() ax1.bar(counts.index.astype(str), counts.values, color='skyblue', label='Clientes') ax1.set_xlabel('Tramos de Minutos') ax1.set_ylabel('Número de Clientes') ax1.grid(True, axis='y') ax2 = ax1.twinx() ax2.plot(churn_rate.values, linestyle='-', linewidth=2.0, color='red', label='Tasa de Churn') ax2.set_ylabel('Tasa de Churn') plt.title('Transformación de variable Day Mins') plt.show()

2 de octubre de 2020 · rvaquerizo

Nueva edición del Programa en Big Data y Data Science de la UNED

Ya está abierta la convocatoria para el Programa Modular en Big Data y Data Science aplicados a la Economía y a la Administración y Dirección de Empresas. Es un programa que se imparte $100%$ en línea y tiene el mejor balance entre la visión teórica y la visión práctica en ciencia de datos. Si escogéis el módulo de seguros, allí nos veremos. En el siguiente enlace podréis encontrar más información: ...

29 de septiembre de 2020 · rvaquerizo

Variables categóricas en cajas, `treemap` con R

La representación de variables categóricas en cajas es uno de los gráficos que más utilizo; empezaron a gustarme debido al uso de Qlik Sense y sus gráficos de cajas, me permitían comparar variables categóricas en un período frente a otro. En R podemos usar la librería treemap para realizar estos gráficos y comparar variables categóricas. En este caso interesa comparar una variable dentro de dos grupos. Para ilustrar el ejemplo nos suministran un conjunto de datos con información de un seguro de responsabilidad civil de motocicletas de una compañía sueca. Este conjunto de datos está en la librería CASdatasets de R: ...

29 de septiembre de 2020 · rvaquerizo

Leer fichero de texto de ancho fijo con Python Pandas

Es muy habitual trabajar con archivos CSV, pero en ocasiones disponemos de ficheros de texto con determinado formato o con ancho fijo para las columnas. Hace tiempo ya escribí sobre la lectura de archivos CSV con Python y Pandas, pero en esta ocasión vamos a leer archivos que no tienen un separador. Evidentemente tienen que darnos el formato del archivo; en este caso, para ilustrar el ejemplo, vamos a pasar un código en R a un código en Python. ...

17 de septiembre de 2020 · rvaquerizo

Leer una tabla en PDF con Excel (a través de R)

Hay situaciones en las que tenemos datos in PDF y los necesitamos exportar a Excel para graficar o cruzar esos datos. In ocasiones es mejor meter esos datos a mano, otras veces disponemos de un software de pago que nos permite realizar esa tarea y también hay páginas web que nos permiten cambiar el formato del PDF. In nuestro caso, simplemente necesitamos una tabla que está in formato PDF para disponer de esos datos in Excel; más sencillo: copiar del PDF y pegar in Excel esa tabla. Si está in texto, el PDF se puede complicar y, si está in modo imagen, más. Si empleas Windows, esta entrada puede ser de utilidad, ya que usando R podrás hacer esta tarea de copiar PDF y pegar Excel de un modo más rápido; te cuento paso por paso en vídeo. ...

14 de septiembre de 2020 · rvaquerizo

La importancia del valor predictivo positivo en las pruebas diagnósticas

El valor predictivo positivo es un dato olvidado cuando realizamos una prueba diagnóstica o (mejor dicho) cuando empleamos este método de medir la potencia de mi modelo. En ocasiones, un modelo parece excepcional pero cabe preguntarse si un buen modelo puede hacernos perder dinero. Además, conviene incidir en la necesidad de calibrar los modelos y medir su comportamiento predictivo y su «comportamiento económico». Este vídeo es continuación del que tenemos en la anterior entrada del blog. Espero despertar alguna conciencia e incidir sobre la importancia de medir económicamente el comportamiento de un modelo. La historia que se cuenta es real y supuso un buen proyecto para la compañía en la que trabajaba; no haciendo modelos, pero sí instalando un nuevo entorno de detección de fraude. Saludos.

9 de septiembre de 2020 · rvaquerizo

Principales elementos en las pruebas diagnósticas

Primer vídeo que subo. Ilustro de modo sencillo algunos elementos de las pruebas diagnósticas con un ejemplo sencillo que podéis reproducir en cualquier hoja de cálculo. No soy precisamente un experto en este tipo de análisis, pero me han sido útiles en algunos momentos de mi vida profesional; además, esa visión “simplista” de las cosas puede ayudar a muchos a comprender conceptos más complejos. Si tiene éxito continuaré hablando sobre razones de probabilidad. Gracias.

7 de septiembre de 2020 · rvaquerizo

Mapa estático de España con Python

Faltaban mapas de España con Python en el blog y hoy ilustro cómo hacerlos con geopandas y matplotlib; creo que es una de las formas más sencillas de hacer este tipo de mapas. No debería de ser necesaria esta entrada puesto que la realización del mapa debería hacerse con QGIS, pero es posible que alguien necesite hacer un mapa de España por Comunidades Autónomas de manera rápida y sencilla en su sesión de Python. Es necesario comentar que este trabajo está hecho con Ubuntu; en un entorno Windows la instalación del paquete geopandas es un dolor de cabeza. ...

11 de mayo de 2020 · rvaquerizo

Creando un mapa en Excel con archivos SVG

Voy a traeros algo que me ha llamado mucho la atención: una solución en Excel para pintar un mapa de España con la posibilidad de resaltar Comunidades Autónomas, Provincias o incluso un nivel inferior, con el archivo del que partimos, Secciones Censales. Una solución realmente buena que además es open-source, por lo que no tenemos ningún problema para emplearla o modificarla; de verdad que creo que es una de las soluciones más interesantes que me he encontrado en Excel en muchos años. La solución la encontraréis en https://github.com/datavizforall/create-your-own-choropleth-map-in-excel, en el artículo Create your own choropleth map in Excel. ...

16 de abril de 2020 · rvaquerizo

Etiquetas en scatter plot. Muertes covid por millón de habitantes vs gasto en salud

He intentado permanecer ajeno a los datos del coronavirus pero es imposible; sin embargo, me gustaría aprovechar para mostrar algunos trucos con R y Python. Esta vez, en una sola entrada, vamos a tratar las siguientes situaciones: Importar la tabla de Worldometer sobre datos de países. Problemas con la librería OECD. Importar Excel con R. Not in con R. Gráficos de ranking ordenados con ggplot. Etiquetas en los scatter plot. Importar la tabla de Worldometer Esta parte es probable que ya la haya puesto en otra ocasión: scraping sobre la web que tenemos todos en favoritos: https://www.worldometers.info/coronavirus/ ...

7 de abril de 2020 · rvaquerizo