Sobre mi...
Ingeniero en sistemas, con amplia experiencia y certificaciones en infraestructura de TI, cloud computing, servidores Linux, networking, hipervisores, contenedores, monitoreo y alertas, entre otras tecnologías relacionadas con el stack SysOps. Además de estudios y prácticas en Inteligencia Artificial y BigData en el TEC y Ciberseguridad con IQ4.
También cuento con casi dos décadas de experiencia trabajando con soluciones bancarias y minoristas para el procesamiento y la automatización de efectivo. Desde el área técnica y de ingeniería, hasta la investigación y desarrollo de productos e integraciones de software con terceros.
Actualmente me desempeño como ingeniero y minero de datos en el Centro de Inteligencia Artificial de una destacada entidad financiera.
Proyectos académicos y profesionales
Proyecto final TEC,
módulo BI & Data Minning
Predicción de clasificación como ganadores de taza de la excelencia, para muestras de granos de café especies arábica y robusta, de productores a nivel internacional.
Objetivos
Plantear un problema de negocio para ser resuelto mediante técnicas de minería de datos.
Aplicar parcialmente la metodología CRISP-DM para resolver un caso básico de minería de datos.
Aplicar principios de visualización de información para presentar mediante un dashboard los resultados de los modelos creados.
Herramientas y técnicas
Ambiente de desarrollo y QA: servidor propio y contenedores Docker.
Data Warehouse: servidor propio.
Lenguaje de programación: Python 3.
IDE de desarrollo: Jupyter Notebooks Server.
Base de datos para modelos: Postgres DB.
Técnicas de ingeniería de características: análisis y selección de variables de interés, imputación de valores nulos, indexación y codificación de columnas categóricas y estandarización.
Técnicas de clasificación: Bosques Aleatorios, Regresión Logística.
Técnicas de evaluación en entrenamiento: Validación Cruzada y ratio training-test de 0.7.
Técnicas de evaluación en prueba: ROC, PR.
Objetivos de minería de datos
Utilizar las técnicas de ETL y aprendizaje automático para poder predecir, por medio del modelado de patrones a partir de un subconjunto de entrenamiento, la clasificación como ganadores de taza de la excelencia para muestras de café a nivel internacional, para lo cual se validará dicho modelo a través de un subconjunto de prueba cuyos resultados serán utilizados para la obtención de métricas específicas que permitan analizar su rendimiento.
Utilizar el método de validación cruzada durante la fase de entrenamiento, con un ratio de separación entre datos de entrenamiento y datos de prueba de 0.7.
Utilizar al menos 2 modelos de predicción de forma tal que permita elegir el que ofrezca mejores resultados según los criterios de éxito.
Criterios de éxito
Métrica AUC ROC (area under curve ROC) mayor o igual al 80%.
Métrica PR (precision-recall) mayor o igual al 80%.
Proyecto final TEC,
módulo BigData
Predicción de vuelos demorados para el sector aeronáutico doméstico de los EEUU.
Objetivos
Aplicar técnicas para extracción, transformación, carga de datos realistas de la vida cotidiana y generar predicciones a partir de esos datos depurados.
Implementación de pruebas unitarias.
Presentar un análisis de resultados y conclusiones.
Objetivo predictivo
Utilizar las técnicas de ETL y aprendizaje automático para poder predecir, por medio del modelado de patrones a partir de un sub-conjunto de entrenamiento, el estado de un vuelo en particular, siendo este clasificado de forma binaria como: "a tiempo" o "demorado", para lo cual se validará dicho modelo a través de un sub-conjunto de prueba cuyos resultados serán utilizados para la obtención de métricas específicas que permitan analizar su rendimiento.
Ruta
a) Realizar la carga, exploración, análisis, filtrado y limpieza de datos correspondiente para cada dataset.
b) Determinar a partir de la columna de demora en el arribo "arr_delay", el valor de tiempo que permitirá realizar la clasificación binaria entre un vuelo demorado y un vuelo a tiempo.
c) Definir la columna correspondiente para dichas clases. La columna objetivo o "target" se llamará "delayed" y contendrá el valor booleano para las 2 clases posibles de resultados: "demorado" o "a tiempo".
d) Relizar la unión de los datasets a partir de las columnas correspondientes según se detalla con el siguiente pseudocódigo (algunos nombres de columnas son modificados durante la fase de preparación para facilitar su uso).
e) Filtrar y preparar las columnas y sub-conjuntos para el proceso de aprendizaje automático.
f) Entrenar los modelos de clasificación seleccionados.
g) Medir y analizar el rendimiento de cada modelo aplicado.
h) Realizar los ajustes que se consideren pertinentes y repetir los pasos f y g.
Prueba técnica para proceso de contratación de CD
Análisis de segmentación RFM.
Enunciado
Realizar un análisis exploratorio del dataset, utilice todos los recursos que considere necesarios.
Realice una segmentación que permita identificar al menos 3 segmentos, VIP, Posible Fuga, Fuga.
Genere conclusiones acerca del análisis realizado, que argumenten su modelo.
¿Qué recomendación de mejora se puede utilizar en esta segmentación, aplicando Inteligencia Artificial?
Utilice el dataset adjunto online_retail_II.zip.
Consideraciones
El trabajo se desarrollará a través de Jupyter Notebook en la plataforma de Google Colab, bajo el lenguaje de programación Python y con ayuda de Markdown para las anotaciones textuales.
Adicionalmente a las instrucciones del enunciado, cualquier presuposición considerada para el caso será aclarada oportunamente dentro del análisis.
El entregable consta del archivo en formato Jupyter Notebook, más una copia en HTML y PDF con todas las ejecuciones del código.
El código considera las buenas prácticas de programación aplicables a este contexto. Los nombres de variables, funciones y comentarios se encuentran en idioma inglés, mientras que todo el análisis e información impresa se mantiene en idioma español.
Proyectos personales
Proyecto personal,
Homelab Datacenter
Datacenter multipropósito opensource
Granja de servidores virtuales gestionados a través del hipervisor Proxmox.
Firewall pfSense, con configuración de servicios como: DNS, DHCP, VPN, Cert. Manager, HAProxy, pfBlocker, TrafficShaper, entre otros.
Respaldos administrados por medio de servidor NAS con OpenMediaVault.
Control y monitoreo a partir de servicios como Zabbix, Grafana, Prometheus, InfluxDB y HomeAssistant.
Aplicaciones de uso general: Ansible, Gitea, Redmine, OnlyOffice, NextCloud, Vault, Portainer, entre otros.
Laboratorio de Data Science & Machine Learning por medio de una pila de contenedores para proporcionar servicios como Spark y JupyterLab.