Skip to content
View daniel-lima-lopez's full-sized avatar

Block or report daniel-lima-lopez

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
daniel-lima-lopez/README.md

🚀 Portafolio de proyectos 👨‍💻

Hola! mi nombre es Daniel Lima López, recién completé una maestría en el área de Ciencias Computacionales, donde tuve la oportunidad de colaborar en diversos equipos en proyectos de investigación, principalmente en el diseño y aplicación de técnicas de Machine Learning y Deep Learning.

A continuación muestro una colección de proyectos personales demostrando mis habilidades en diversas áreas de Ciencia de Datos, Machine Learning, Natural Language Processing (NLP) y Computer Vision. Cada proyecto incluye una breve descripción y las tecnologías usadas.

Te invito a conectar conmigo en Linkedin 😁.

Machine Learning

Large Language Models (LLMs)

MexIA: chatbot basado en RAG

Descripción:
Chatbot basado en RAG enfocado a responder consultas de caracter legal. La implementacion incluye la etapa de extraccion de informacion del documento oficial de la constitucion mexicana, usando expresiones regulares, asi como la etapa de division del contenido en chunks e ingesta en el vector store.

Tecnologías usadas:

  • LlamaIndex
  • gpt-4o-mini
  • NLTK

Sistema de Soporte al Cliente

Descripción:
Sistema multi-agente enfocado para el servicio al cliente de un producto fictisio. La implementacion incluye la etpa de ingesta en el Vector Store, asi como la implementacion de dos agentes basados en RAG usando Llama 3.1. El sistema funciona a traves de una serie de pasos de razonamiento que determinan el contexto de la pregunta del usuario y seleccionan al agente RAG mas adecuado, el cual puede estar especializado en la documentacion de instrucciones o una guia de problemas comunes.

Tecnologías usadas:

  • LangChain
  • Llama 3.1

Aprendizaje Supervisado

Optimización de inversión publicitaria para maximizar ganancias

Descripción:
Análisis de ganancias al invertir en diferentes canales publicitarios usando un modelo de Regresión Lineal, identificando la estrategia óptima para distribuir la inversión en cada canal con el fin de maximizar las ganancias generadas.

Tecnologías usadas:

  • Scikit-Lean
  • Pandas / Pandas-SQL
  • Matplotlib
  • Seaborn

Pipeline de procesamiento de datos e inferencia

Descripción:
Implementación de un pipeline de procesamiento de datos, inclueyendo caracteristicas numericas y texto, integrado con una Red Neuronal para optimizar el entrenamiento y la evaluación de modelos, facilitando la clasificación de contenido de redes sociales.

Tecnologías usadas:

  • Tensorflow
  • Pandas
  • Matplotlib
  • Seaborn

Butterworth-CNN

Descripción:
Este repositorio contiene el código descrito en el articulo Butterworth CNN: an improvement on memory use for Fourier Convolutional Neural Networks, de mi autoría en conjunto con la Dra. Pilar Gómez-Gil. Este artículo será publicado en los proceedings del 2024 IEEE PES Generation, Transmission, and Distribution & IEEE Autumn Meeting on Power, Electronics and Computing Joint Conference. Los ejemplos incluyen la implementación en Tensorflow de la arquitectura BW-CNN propuesta, así como las arquitecturas en comparación. Cabe mencionar que este trabajo recibió el reconocimiento Best Computing Track Paper Award durante el congreso.

Tecnologías usadas:

  • Tensorflow

Sistema de semaforos de estados dinamicos

Descripción:
Implementación de un sistema de semáforos de estados dinámicos controlados por redes neuronales. El sistema decide el estado más óptimo considerando las condiciones del tráfico en tiempo real. El entrenamiento se realizó en un entorno de simulación, optimizando los pesos de la red neuronal con algoritmos genéticos. El proyecto se sometió al concurso "Acelerando México con Inteligencia Artificial", organizado por Intel. En este concurso se reconoció como uno de los top proyectos.

Tecnologías usadas:

  • Tensorflow
  • SUMO

Implementación de kTLNN

Descripción:
Implementación en Python del algoritmo kTLNN, propuesto por Wang et al. Esta propuesta consiste en una extensión al algoritmo clásico kNN, extendiendo la regla de decisión a un vecindario de dos capas, reuniendo información más relevante para realizar la clasificación.

Tecnologías usadas:

  • Python
  • Numpy

Implementación de Ada-kNN

Descripción:
Implementación en Python del algoritmo Ada-kNN, propuesto por Mullick et al. Este clasificador presenta una propuesta para automatizar la elección del valor k en el clasificador kNN, dependiendo de las características de cada instancia nueva a clasificar. Para ello, se propone una etapa de entrenamiento usando redes neuronales para predecir el valor óptimo de k.

Tecnologías usadas:

  • Python
  • Numpy
  • Tensorflow

Aprendizaje No Supervisado

Sistema de Recomendación

Descripción:
Sistema de recomendación de películas usando k-Means y Collaborative Filtering. Realice análisis de valoraciones de clientes, destacando las preferencias de los usuarios, e implemente un sistema con la capacidad de generar sugerencias relevantes de películas basadas en las preferencias de usuarios con gustos similares, los cuales se identifican a través de la división en clústeres de todos los usuarios en la base de datos.

Tecnologías usadas:

  • Scikit-Lean
  • Pandas / Pandas-SQL
  • Matplotlib
  • Seaborn

Natural Language Processing

Clasificación de Sentimientos con Naive Bayes

Descripción:
Implementacion del algoritmo Naive Bayes y una variante basada en un conteo binario. La implementacion se pone a prueba bajo la tarea de clasificacion de sentimientos, esto incluye la etapa de procesamiento, tokenizacion de texto y split de datos en entrenamiento y pruebas. Ambos modelos se comparan con la metrica de precision y un analisis usando matrices de confusion.

Tecnologías usadas:

  • NLTK
  • Pandas
  • Numpy
  • Scikit-Learn

Ejemplo de Information-Retrieval

Descripción:
**

Tecnologías usadas:

  • a

Ejemplo de N-Gram

Descripción:
**

Tecnologías usadas:

  • a

Computer Vision

Sistema de Reconocimiento y Detección de Placas de Automóviles

Descripción:
**

Tecnologías usadas:

  • a

Segmentación Semantica de Caminos

Descripción:
**

Tecnologías usadas:

  • a

Popular repositories Loading

  1. Dynamic-State-Traffic-Lights Dynamic-State-Traffic-Lights Public

    This work consists of a dynamic state traffic light controlled by a neural network. The training of this model is carried out by genetic algorithms in a simulation environment.

    Python 3

  2. Image-edge-enhancement-with-OpenCV Image-edge-enhancement-with-OpenCV Public

    In this repository a simple technique is implemented to improve the quality of images by highlighting their edges.

    Python 1

  3. kTLNN-Python kTLNN-Python Public

    A python implementation of the classifier k Two Layers Nearest Neighbors

    Python 1

  4. Tiktok-data-analysis Tiktok-data-analysis Public

    Example of a typical Machine Learning engineering problem

    Jupyter Notebook 1

  5. Mex-IA-a-Retrieval-Augmented-Generation-Chatbot Mex-IA-a-Retrieval-Augmented-Generation-Chatbot Public

    Jupyter Notebook 1

  6. Notas-de-Numpy Notas-de-Numpy Public

    Jupyter Notebook