Cython es una librería de Python con la cual se puede aumentar fácilmente el rendimiento de nuestro código en más de un orden de magnitud. Lo que se puede conseguir incluso sin la necesidad de incluir cambios en el código. Anteriormente he escrito una entrada con los fundamentos de esta librería y cómo mejorar el rendimiento de los archivos py. En esta ocasión se explicará cómo … [Leer más...] acerca deMejorar el rendimiento en Jupyter con Cython
UCB1-Tuned para un problema Bandido Multibrazo (Multi-Armed Bandit)
La semana pasada hemos visto UCB2, un algoritmo que ha ofrecido mejores rendimientos que UCB1 para nuestros bandidos basados en una distribución binomial. En esta ocasión vamos a ver UCB1-Tuned (también conocido como UCB-Tuned), una mejora de UCB1 en el que se modifica la fórmula con la que se calcula el límite de confianza superior.UCB1-TunedEl método UCB1-Tuned … [Leer más...] acerca deUCB1-Tuned para un problema Bandido Multibrazo (Multi-Armed Bandit)
Aplicar el método D’Hondt en Excel
El método D'Hondt es un algoritmo para asignar escaños a las listas electorales empleado en los sistemas de representación proporcionales. Sistemas en los que se busca asignar un número de escaños proporcional a la cantidad de votos recibidos. Esto es, en el caso de que una lista reciba un veinticinco por ciento de los votos debería recibir una cantidad similar de escaños, lo … [Leer más...] acerca deAplicar el método D’Hondt en Excel
Cómo encontrar la posición de elementos en una lista de Python
Localizar la posición de un elemento dado en una lista es una tarea bastante habitual. Por ejemplo, cuando necesitamos localizar los valores máximo o mínimo. Para esta tarea se puede usar el método index() de las listas de Python o, cuando estamos trabajando con vectores de NumPy existe el método where(). Veamos a continuación cómo encontrar la posición de elementos en una … [Leer más...] acerca deCómo encontrar la posición de elementos en una lista de Python
Disponible JupyterLab 3.0
Ya se encuentra disponible la versión 3.0 de JupyterLab, una versión que incluye múltiples novedades. Entre las que se puede destacar el lanzamiento de un nuevo depurador visual con el que es más fácil localizar errores en nuestro código. Además de esta novedad se puede destacar otras como:Es posible configurar la interfaz de JupyterLab en múltiples idiomasLa tabla de … [Leer más...] acerca deDisponible JupyterLab 3.0
UCB2 para un problema Bandido Multibrazo (Multi-Armed Bandit)
En la entrega anterior de esta serie hemos comenzado a ver cómo aplicar los métodos UCB (Upper Confidence Bounds) para resolver un problema del Bandido Multibrazo. Métodos en los que se estima un límite de confiaban superior para la recompensa de cada uno de los bandidos. Seleccionando en cada momento el que tenga la recompensa media más el límite de confianza mayor. En esta … [Leer más...] acerca deUCB2 para un problema Bandido Multibrazo (Multi-Armed Bandit)
Cómo ordenar dataframe en base a múltiples columnas en R
Una tarea bastante habitual cuando se trabaja con conjuntos de datos es ordenar los registros en base los valores de una o varias columnas. Por ejemplo, buscar los clientes con mayor número de visitas y, a igual número de visitas, ordenarlos por gasto. Lo que se pude conseguir fácilmente en R. Únicamente hay que combinar el uso de order() con with() para poder ordenar dataframe … [Leer más...] acerca deCómo ordenar dataframe en base a múltiples columnas en R
NumPy: La función reshape de NumPy con ejemplos
El método que podemos usar en NumPy para redimensionar los vectores es la función reshape. Una función que es clave conocer para trabajar de forma eficaz con NumPy. Veamos a continuación como se puede usar la función reshape de NumPy a través de diferentes ejemplos.La función reshape de NumPyEn la documentación de NumPy se pude ver que la función reshape tiene la … [Leer más...] acerca deNumPy: La función reshape de NumPy con ejemplos
Semana sin publicaciones
Esta semana realizaremos una pausa en la publicación de entradas, por lo que no habrá nuevas publicaciones hasta el próximo lunes 5 de abril.Aprovecho la ocasión para recordaros que para estar al día de todas nuestras publicaciones os podéis dar de alta en el boletín de noticias. Boletín que se envía todos los lunes con las últimas publicaciones aparecidas en Analytics … [Leer más...] acerca deSemana sin publicaciones
UCB1 para un problema Bandido Multibrazo (Multi-Armed Bandit)
Las diferentes estrategias que hemos visto hasta ahora para resolver un problema tipo Bandido Multibrazo (Multi-Armed Bandit) se basan en la exploración aleatoria de los estados, como puede ser el caso de Epsilon-Greedy, o en un conocimiento previo de los mismos, como es el caso de valores iniciales optimistas. Lo que puede ser problemático en ciertas ocasiones. Epsilon-Greedy … [Leer más...] acerca deUCB1 para un problema Bandido Multibrazo (Multi-Armed Bandit)
Guardar archivos CSV en Node
La semana pasada hemos visto el uso del módulo csv-parser para procesar archivos CSV en Node. Lo que facilita la importación de este formato de archivo. Uno de los más utilizados para el intercambio de datos entres sistemas. Esta semana vamos a ver dos módulos (csv-writer y fast-csv) con los que podremos hacer el proceso inverso: guardar archivos CSV en Node.El módulo … [Leer más...] acerca deGuardar archivos CSV en Node
Novedades en Python 3.10: Switch-Case
Una de las características que personalmente más echo en falta al trabajar con Python es la falta de una estructura de control de flujo tipo Switch-Case. Algo que se solucionará con la salida de la versión 3.10 en octubre de 2021. La nueva versión de Python, entre otras mejoras, traerá una sintaxis tipo Switch-Case con la que se podría implementar de forma óptima estas … [Leer más...] acerca deNovedades en Python 3.10: Switch-Case