Página web de

Miguel Ferreiro Díaz

¡Bienvenidos!

A continuación, encontrarás información relativa a mis proyectos, experiencia, etc...

Abajo tienes toda la información personal por si en algún momento quieres contactar conmigo.

Mis Artículos

Junio-2021

The bdpar Package: Big Data Pipelining Architecture for R

Miguel Ferreiro-Díaz, Tomás R. Cotos-Yáñez, José R. Méndez and David Ruano-Ordás , The R Journal (2021) 13:1, pages 130-144.

Abstract

In the last years, big data has become a useful paradigm for taking advantage of multiple sources to find relevant knowledge in real domains (such as the design of personalized marketing campaigns or helping to palliate the effects of several fatal diseases). Big data programming tools and methods have evolved over time from a MapReduce to a pipeline-based archetype. Concretely the use of pipelining schemes has become the most reliable way of processing and analyzing large amounts of data. To this end, this work introduces bdpar, a new highly customizable pipeline-based framework (using the OOP paradigm provided by R6 package) able to execute multiple preprocessing tasks over heterogeneous data sources. Moreover, to increase the flexibility and performance, bdpar provides helpful features such as (i) the definition of a novel object-based pipe operator (%>|%), (ii) the ability to easily design and deploy new (and customized) input data parsers, tasks, and pipelines, (iii) only-once execution which avoids the execution of previously processed information (instances), guaranteeing that only new both input data and pipelines are executed, (iv) the capability to perform serial or parallel operations according to the user needs, (v) the inclusion of a debugging mechanism which allows users to check the status of each instance (and find possible errors) throughout the process.

Acceso:

Mis Proyectos

Mayo-2021

v1.0.1 D2MCS: Data Driving Multiple Classifier System

  • Adaptadas las páginas de documentación al uso de HTML5 soportado por R 4.2.0.
  • Actualizada la versión de documentación roxygen2 de 7.1.1 a 7.2.1.

Agosto-2022

v3.0.3 bdpar: Big Data Preprocessing Architecture

  • Adaptadas las páginas de documentación al uso de HTML5 soportado por R 4.2.0.
  • Actualizada la versión de documentación roxygen2 de 7.2.0 a 7.2.1.

Mayo-2022

v3.0.2 bdpar: Big Data Preprocessing Architecture

  • Eliminada la dependencia con el paquete rtweet en la clase FindEmojiPipe.

Junio-2021

v3.0.1 bdpar: Big Data Preprocessing Architecture

  • Añadido a J. R. Méndez-Reboredo como autor.

Junio-2021

Desarrollo de técnicas de clustering no supervisado para mejorar el rendimiento de Sistemas Multi-Clasificador

El Trabajo de Fin de Máster (TFM) busca mejorar el framework D2MCS, desarrollado por el Dr. Ruano-Ordás, dirigido a la creación de un Sistema Multi-Clasificador orientado principalmente al cribado de medicamentos (in silico screening) en el ámbito farmacológico. En el transcurso de este desarrollo publicó dos artículos exponiendo los resultados obtenidos: "Improving the drug discovery process by using multiple classifier systems" y "A multiple classifier system identifies novel cannabinoid CB2 receptor ligands". El objetivo principal del TFM se basa en tres ejes básicos:

  • Mejorar la capacidad de manipulación de datos.
  • Ampliar las posibilidades de agrupamiento de características.
  • Optimizar la precisión de la herramienta.

Trabajo Fin de Máster
Mayo-2021

v1.0.0 D2MCS: Data Driving Multiple Classifier System

Framework novedoso que permite desarrollar y desplegar automáticamente un Sistema Multi-Clasificador preciso, basado en la distribución de características lograda a partir de un conjunto de datos de entrada. Para ello, D2MCS se centra en cuatro aspectos principales:

  • La capacidad de determinar un método eficaz para evaluar la independencia de las características.
  • La identificación del número óptimo de clusters de características.
  • El entrenamiento y ajuste de los modelos de Machine Learning.
  • La ejecución de sistemas de votación para combinar las salidas de cada clasificador que componen el Sistema Multi-Clasificador.

Noviembre-2020

v3.0.0 bdpar: Big Data Preprocessing Architecture

Actualización del paquete dónde se añaden funcionalidades y se solucionan errores:

Nuevas características

  • Añadido un mecanismo que evita la re-ejecución de flujos de preprocesamiento para garantizar que sólo se ejecuten con nuevos datos de entrada y nuevos flujos de pipes.
  • Añadida la compatibilidad para la ejecución tanto en serie como en paralelo del flujo del preprocesamiento.
  • El sistema de log ha sido completamente reestructurado para soportar tanto el registro en archivo como en consola.
  • Soportada la visualización del estado de las instancias entre pipes y la presentación de un resumen final de la ejecución.
  • Proporciona un ejemplo para mostrar la compatibilidad con diferentes tipos de datos, por ejemplo, pre-procesamiento de imágenes.
  • Actualizada la versión de la documentación soportada por el paquete roxygen2 de 6.1.1 a 7.1.1.
  • Eliminadas las dependencias con varios paquetes: readr, pipeR, textutils, magrittr y purrr.

Bugs arreglados

  • Corregida la ruta de los archivos de ejemplo.
  • Corregido el escape de caracteres especiales al lanzar el script de Python.
  • Corregido el error relacionado con no usar la función cat para guardar la información de los tweets.

Agosto-2020

INOU-20: Extracción y pre-procesamiento de opiniones sobre el sector enoturístico en la provincia de Ourense

Proyecto realizado con el objetivo de extraer y procesar opiniones sobre las diferentes bodegas de la provincia de Ourense. Con este propósito, se utilizan enlaces de Google Maps a las diferentes bodegas para obtener de forma automática todos los datos asociados a ellas junto con los comentarios de los usuarios. Posteriormente, se realiza un pre-procesamiento de la información extraída para establecer un formato unificado y así facilitar su análisis posterior.

Noticias:

Febrero-2020

v2.0.0 bdpar: Big Data Preprocessing Architecture

Actualización del paquete dónde se añaden y se mejoran sus funcionalidades:

  • El operador orientado a objetos ha sido completamente rediseñado para reducir su expresión y aumentar su funcionalidad.
  • Habilitada la posibilidad de utilizar un conjunto de carpetas o archivos como entrada para el preprocesamiento.
  • Remodelado el manejo de la configuración del flujo de preprocesamiento.
  • Mejorado el registro de extractores de datos.
  • Añadida la funcionalidad para crear dinámicamente nuevos flujos de pipes.
  • Renombradas algunas funciones y clases para aumentar la legibilidad.

Julio-2019

v1.0.0 bdpar: Big Data Preprocessing Architecture

Herramienta para crear fácilmente flujos de datos personalizados para preprocesar grandes volúmenes de datos de diferentes fuentes. Con ese fin, bdpar permite:

  • Utilizar y crear fácilmente nuevas funcionalidades.
  • Desarrollar nuevos extractores de fuentes de datos según las necesidades del usuario. Además, el paquete proporciona por defecto un flujo de datos predefinido para extraer y preprocesar la información más relevante (tokens, fechas, ... ) de algunas fuentes textuales (SMS, Email, tweets, comentarios de YouTube).

Mayo-2019

Clasificación de contenidos de texto en diversos formatos en R usando pipes

Trabajo de Fin de Grado que consta de dos objetivos:

  • La creación de una herramienta de preprocesamiento personalizada aplicando el concepto de pipe (tubería).
  • Partiendo de un conjunto de datos preprocesados, se aplican los modelos de clasificación más usados; Naive Bayes, Regresión Logística, Support Vector Machine y Random Forest, para la clasificación de mensajes de textos en Legítimo/Ilegítimo.

Trabajo Fin de Grado

Propiedades intelectuales

Marzo-2020

BDPAR: Big Data Pipelining Architecture for R

Autores: Miguel Ferreiro Díaz, David Ruano Ordás, Tomás Cotos Yañez y Jose Ramón Méndez Reboredo.

Julio-2021

D2MCS: Data Driving Multiple Classifier System

Autores: Miguel Ferreiro Díaz, David Ruano Ordás y Jose Ramón Méndez Reboredo.

¿Mis conocimientos?

¡Más información abajo sobre todo con lo que he trabajado!

Tecnologías, lenguajes y herramientas que conozco

Todos
Programación
Desarrollo Web
Ciencia de datos
Base de datos
Editores
Frameworks de pruebas
Gestión de proyectos
  • R

    R

    Lenguaje para computación estadística

  • Java

    Java

    Lenguaje de programación

  • C

    C

    Lenguaje de programación

  • C#

    C Sharp

    Lenguaje de programación

  • Python

    Python

    Lenguaje de programación

  • HTML5

    HTML5

    Lenguaje de marcado

  • CSS3

    CSS3

    Lenguaje de maquetación

  • Bootstrap

    Bootstrap

    Framework CSS

  • PHP

    PHP

    Lenguaje de maquetación

  • Java EE

    Java EE

    Plataforma de programación

  • JAX-RS

    JAX-RS

    Soporte para el desarrollo de servicios RESTful

  • JavaScript

    JavaScript

    Lenguaje de programación

  • TypeScript

    TypeScript

    Lenguaje de programación

  • AngularJS

    AngularJS

    Framework frontend

  • Angular 12

    Angular 12

    Framework frontend

  • JQuery

    JQuery

    Librería multiplataforma de JavaScript

  • Spring

    Spring

    Framework para aplicaciones web

  • Wildfly

    Wildfly

    Servidor de aplicaciones Java EE

  • OpenGL

    OpenGL

    Biblioteca gráfica

  • Prolog

    Prolog

    Lenguaje de programación lógico

  • Apache Spark

    Apache Spark

    Motor de procesamiento distribuido

  • Apache Hadoop

    Apache Hadoop

    Motor de procesamiento distribuido

  • MPI

    MPI

    Interfaz para aplicaciones paralelas

  • CUDA

    CUDA

    Plataforma de computación en paralelo

  • MySQL

    MySQL

    Sistema de gestión de bases de datos relacionales

  • PL/SQL

    PL/SQL

    Lenguaje de procesamiento procedimental

  • SQLite

    SQLite

    Sistema de gestión de bases de datos relacionales

  • H2

    H2

    Sistema de gestión de bases de datos relacionales

  • Testthat

    Testthat

    Framework de test unitarios en R

  • NUnit

    NUnit

    Framework de test unitarios en C#

  • JUnit

    JUnit

    Framework de test unitarios en Java

  • EasyMock

    EasyMock

    Framework de test en Java

  • Arquillian

    Arquillian

    Framework de test de integración en Java

  • Selenium

    Selenium

    Framework de test en aplicaciones web

  • RStudio

    RStudio

    IDE

  • Eclipse

    Eclipse

    IDE

  • NetBeans

    NetBeans

    IDE

  • Android Studio

    Android Studio

    IDE

  • IntelliJ IDEA

    IntelliJ IDEA

    IDE

  • PyCharm

    PyCharm

    IDE

  • Visual Studio

    Visual Studio

    IDE

  • Visual Studio Code

    VS Code

    Editor

  • Rapid Miner

    Rapid Miner

    Plataforma para el análisis y la minería de datos

  • Weka

    Weka

    Plataforma para el aprendizaje automático y la minería de datos

  • Pentaho Data Integration Kettle

    Kettle

    Herramienta para utilizar técnicas ETL

  • Git

    Git

    Control de versiones

  • Subversion

    Subversion

    Control de versiones

  • GitKraken

    GitKraken

    Herramienta de control de versiones

  • GitHub

    GitHub

    Gestor de repositorios

  • GitLab

    GitLab

    Gestor de repositorios

  • GitLab CI/CD

    GitLab CI/CD

    Herramienta de integración y despliegue continuo

  • Jenkins

    Jenkins

    Servidor de integración y despliegue continuo

  • Travis CI

    Travis CI

    Servicio de integración continua

  • Maven

    Maven

    Construcción de proyectos Java

  • Docker

    Docker

    Automatización de despliegue de aplicaciones

  • Nexus

    Nexus

    Repositorio de librerías de software

  • Leantime

    Leantime

    Sistema de gestión de proyectos

  • UML

    UML

    Lenguaje de modelado de sistemas de software

¿Mis méritos?

¡Abajo tienes todo mi recorrido!

Sobre mi

Miguel Ferreiro Díaz

Miguel Ferreiro Díaz

Soy ingeniero informático con experiencia en proyectos de investigación a través de mi colaboración con el grupo Sistemas Informáticos de Nueva Generación (SING) de la Universidad de Vigo.

A lo largo de mi recorrido formativo y profesional, he obtenido experiencia para liderar, coordinar y mediar entre individuos y grupos a través de impartir clases en la universidad y organizando los grupos formados en los trabajos del Grado y del Máster en Ingeniería Informática.

Mi objetivo actual es trabajar en proyectos que aborden la resolución de nuevos retos aplicando Inteligencia Artificial. Además, busco adquirir experiencia y mejorar mis habilidades para el liderazgo y la gestión de proyectos.

Formación

2021-2022

Programa de Doctorado en Sistemas de Software Inteligentes y Adaptables

Universidad de Vigo, Ourense (España)

Título: Detección automática de signos radiológicos mediante Deep Learning

Premio a la Excelencia Académica para estudiantes que inician estudios de Doctorado.

2022

M001: MongoDB Basics

MongoDB University

Horas: 8,5

2022

CCSK v4.1 Foundation Training

Cisco Networking Academy

Horas: 35

2021

Curso Cybersecurity Essentials

Cisco Networking Academy

Horas: 30

2021

Curso Introduction to Cybersecurity

Cisco Networking Academy

Horas: 15

2019-2021

Máster Universitario en Ingeniería Informática

Universidad de Vigo, Ourense (España)

Premio a la Excelencia Académica para estudiantes que inician estudios de Máster.

Tres matrículas de honor obtenidas:
  • Diseño y Gestión Avanza de Redes
  • Gestión de la Configuración del Software
  • Ingeniería de Sistemas de Información

Créditos: 90

2020

Curso CITI Program - Data or Specimens Only Research (Stage 1, Basic Course)

Massachusetts Institute of Technology Affiliates
2020

Curso NDG Linux Essentials

Cisco Networking Academy

Horas: 70

2019

Asistencia al GDG DevFest Galicia | 2019

Universidad de Vigo, Ourense (España)
2015-2019

Graduado en Ingenieria Informática

Universidad de Vigo, Ourense (España)

Premio Extraordinario de Fin de Grao en la Titulación de Ingenieria Informática con una nota media de: 8.44

Doce matrículas de honor obtenidas:
  • Administración de la tecnoloxía y la empresa
  • Algoritmos y estructuras de datos I
  • Algoritmos y estructuras de datos II
  • Programación II
  • Sistemas Operativos I
  • Sistemas Operativos II
  • Seguridad en sistemas informáticos
  • Interfaces de usuario
  • Aplicaciones con lenguajes de script
  • Desarrollo ágil de aplicaciones
  • Desarrollo e integración de aplicaciones
  • Dispostivos móviles

Créditos: 240

2017

Obradoiro Introdución á programación

Universidad de Vigo, Ourense (España)

Horas: 30

2013-2015

Título de Bachiller en la modalidad de Ciencias y Tecnología

Instituto de Educación Secundaria Ramón Otero Pedrayo de Ourense, Ourense (España)

Experiencia

2022-2026

Contratado predoctoral FPU

Universidad de Vigo, Ourense (España)

Contrato de formación investigadora en el programa de Doctorado en Sistemas Software Inteligentes y Adaptables de la Universidad de Vigo.

2022

Profesor invitado en el Departamento de Informática

Universidad de Vigo, Ourense (España)

Docencia impartida en la asignatura de Redes de Computadoras I del Grado de Ingeniería Informática.

2021

Profesor invitado en el Departamento de Informática

Universidad de Vigo, Ourense (España)

Docencia impartida en las asignaturas de Sistemas Operativos I y Centros de Datos del Grado de Ingeniería Informática.

2021

Personal colaborador en investigación y desarrollo en el grupo SING

Universidad de Vigo, Ourense (España)

Contrato con cargo a la línea de investigación POSB-2021/024.

2020

Personal colaborador en investigación y desarrollo en el grupo SING

Universidad de Vigo, Ourense (España)

Contrato con cargo al proyecto “Extracción e pre-procesamento de opinións sobre o sector enoturístico na provincia de Ourense” de la convocatoria de Ayudas a Grupos de Investigación del Campus de Ourense, INOU 2020.

2019-2020

Personal colaborador en investigación y desarrollo en el grupo SING

Universidad de Vigo, Ourense (España)

Contrato con cargo al proyecto ED431C2018/55-GRC (Grupo de Referencia Competitiva da Xunta de Galicia, convocatoria 2018).

2018-2019

Beca de Colaboración Dpto. Estadística e Investigación Operativa

Universidad de Vigo, Ourense (España)

Desarrollo de funciones y clases de R para el preprocesamiento y clasificación de contenidos textuales en diversos formatos.

Conferencias

2021

Ponente en la VIII Jornada de Usuarios de R en Galicia

Universidad de Santiago de Compostela, Santiago de Compostela (España)

Título: D2MCS: Un paquete en R para desenvolver y desplegar automáticamente un Sistema Multi-Clasificador


2019

Ponente en la VI Jornada de Usuarios de R en Galicia

Universidad de Santiago de Compostela, Santiago de Compostela (España)

Título: Bdpar: Un paquete de R para executar pipelines personalizables de preprocesado sobre fontes de datos heteroxéneos


Idiomas

2023

Acreditación de nivel MCER Inglés - Nivel C1

Escuela Oficial de Idiomas, Ourense (España)
2022-2023

Curso de Inglés Nivel C1.2

Escuela Oficial de Idiomas, Ourense (España)
2021-2022

Curso de Inglés Nivel C1.1

Escuela Oficial de Idiomas, Ourense (España)
2020

Acreditación de nivel MCER Inglés - Nivel B2

Escuela Oficial de Idiomas, Ourense (España)
2017

Curso de Inglés Nivel B2.2

Centro de Linguas Fundación Universidad de Vigo, Ourense (España)

Horas: 55

2016

Curso de Inglés Nivel B2.1

Centro de Linguas Fundación Universidad de Vigo, Ourense (España)

Horas: 55

2016

Acreditación de nivel MCER Inglés - Nivel B1

Centro de Linguas Fundación Universidad de Vigo, Ourense (España)
2013-2015

Celga 4

Instituto de Educación Secundaria Ramón Otero Pedrayo de Ourense, Ourense (España)

No te pierdas nada

Sigue en contacto con Miguel Ferreiro Díaz