Los 10 principales proyectos de ciencia de datos en Github que deberías poner en práctica [2022]

Publicado: 2021-01-09

Con la ciencia de datos arrasando en la industria, existe una demanda masiva de expertos en ciencia de datos capacitados y calificados. Naturalmente, la competencia en el mercado actual es feroz. En tal escenario, los empleadores no solo buscan educación formal y certificaciones profesionales, sino que también exigen experiencia práctica. ¡Y qué mejor que los proyectos de ciencia de datos para demostrar su valía y mostrar sus habilidades de ciencia de datos del mundo real a posibles empleadores!

Si aspira a ingresar al dominio de Data Science, la mejor manera de construir su cartera desde cero es trabajar en proyectos de Data Science. Creamos esta publicación para inspirarlo a desarrollar sus propios proyectos de ciencia de datos.

Dado que GitHub es un excelente repositorio de ideas de proyectos de ciencia de datos, ¡aquí hay una lista de proyectos de ciencia de datos en GitHub que debe consultar! Para obtener más conocimientos y aplicaciones prácticas, consulte nuestros cursos de ciencia de datos de las mejores universidades.

Tabla de contenido

Los 10 mejores proyectos de ciencia de datos en GitHub

1. Reconocimiento facial

El proyecto de reconocimiento facial hace uso de Deep Learning y el algoritmo HOG ( Histogram of Oriented Gradients ). Este sistema de reconocimiento facial está diseñado para encontrar rostros en una imagen (algoritmo HOG), transformaciones afines (alinear rostros utilizando un conjunto de árboles de regresión), codificación de rostros (FaceNet) y hacer predicciones (Linear SVM).

Usando el algoritmo HOG, calculará los gradientes de orientación de voto ponderados de cuadrados de 16 × 16 píxeles, en lugar de calcular gradientes para cada píxel de una imagen en particular. Esto generará una imagen HOG que representa la estructura fundamental de una cara. En el siguiente paso, debe usar la biblioteca dlib Python para crear y ver representaciones HOG para encontrar qué parte de la imagen se parece más al patrón HOG entrenado.

2. Bicicletas compartidas Kaggle

Los sistemas de bicicletas compartidas te permiten reservar y alquilar bicicletas/motos y también devolverlas, todo a través de un sistema automatizado. Este proyecto se parece más a una competencia de Kaggle en la que deberá combinar patrones de uso históricos con datos meteorológicos para predecir la demanda de servicios de alquiler de bicicletas para el programa Capital Bikeshare en Washington, DC

El objetivo principal de esta competencia de Kaggle es crear un modelo ML (basado explícitamente en características contextuales) que pueda predecir la cantidad de bicicletas alquiladas. El reto tiene dos partes. Mientras que en la primera parte, se centrará en comprender, analizar y procesar los conjuntos de datos, la segunda parte se trata de diseñar el modelo mediante el uso de una biblioteca ML.

3. Análisis del Texto del Informe del Gobierno de México

Este proyecto es una excelente aplicación de PNL. El 1 de septiembre de 2019, el gobierno mexicano publicó un informe anual en formato PDF. Por lo tanto, su objetivo en este proyecto será extraer texto del PDF, limpiarlo, ejecutarlo a través de una canalización NLP y visualizar los resultados mediante representaciones gráficas.

Para este proyecto, deberá usar varias bibliotecas de Python, que incluyen:

  • PyPDF2 para extraer texto de archivos PDF.
  • SpaCy para pasar el texto extraído a una canalización NLP.
  • Pandas para extraer y analizar información de conjuntos de datos.
  • NumPy para operaciones matriciales rápidas.
  • Matplotlib para diseñar diagramas y gráficos.
  • Seaborn para mejorar el estilo de las parcelas/gráficos.
  • Geopandas para trazar mapas.

4. ALBERTO

ALBERT se basa en BERT, un proyecto de Google que supuso un cambio radical en el campo de la PNL. Es una implementación mejorada de BERT, diseñada para representaciones de idiomas de aprendizaje autosupervisado mediante TensorFlow.

En BERT, los modelos preentrenados son enormes y, por lo tanto, se vuelve un desafío desempaquetarlos, conectarlos a un modelo y ejecutarlos en máquinas locales. Es por eso que la necesidad de ALBERT lo ayuda a lograr un rendimiento de vanguardia en los principales puntos de referencia con un 30 % menos de parámetros. Aunque albert_base_zh tiene solo un 10% de parámetros en comparación con BERT, aún conserva la precisión original de BERT.

5. Tamiz de cuerdas

Si te interesa la ciberseguridad, ¡te encantará trabajar en este proyecto! Lanzado por FireEye, StringSifter es una herramienta de aprendizaje automático que puede clasificar cadenas automáticamente en función de su relevancia para el análisis de malware.

Por lo general, los programas de malware estándar incluyen cadenas para realizar operaciones específicas, como crear la clave de registro, copiar archivos de una ubicación a otra, etc. StringSifter es una solución fantástica para mitigar las amenazas cibernéticas. Sin embargo, debe tener Python versión 3.6 o superior para ejecutar e instalar StringSifter.

6. Solador

Dado el hecho de que hoy en día, la Web y las plataformas en línea están inundadas de imágenes, existe un amplio margen para trabajar con datos de imágenes en la industria moderna. Entonces, imagine que si puede crear un proyecto orientado a imágenes, será un activo muy valioso para muchos.

Tiler es una herramienta de imagen que le permite crear imágenes únicas combinando muchos tipos diferentes de imágenes más pequeñas o "mosaicos". De acuerdo con la descripción de GitHub de Tiler, puede crear una imagen con "líneas, ondas, círculos, puntos de cruz, bloques de Minecraft, legos, letras, sujetapapeles" y mucho más. Con Tiler, tendrás infinitas posibilidades para realizar creaciones de imágenes innovadoras.

7. DeepCTR

DeepCTR es un "paquete fácil de usar, modular y ampliable de modelos CTR basados ​​en aprendizaje profundo". También incluye muchos otros elementos y capas vitales que pueden ser muy útiles para crear modelos personalizados.

Originalmente, el proyecto DeepCTR se diseñó en TensorFlow. Si bien TensorFlow es una herramienta encomiable, no es del agrado de todos. Por lo tanto, se creó el repositorio DeepCTR-Torch. La nueva versión incluye el código completo de DeepCTR en PyTorch. Puede instalar DeepCTR a través de pip usando la siguiente declaración:

pip install -U deepctr-antorcha

Con DeepCTR, se vuelve fácil usar cualquier modelo complejo con las funciones model.fit() y model.predict().

8. TubeMQ

¿Alguna vez se preguntó cómo los gigantes tecnológicos y los líderes de la industria almacenan, extraen y administran sus datos? Es con la ayuda de herramientas como TubeMQ, el sistema de cola de mensajería distribuida (MQ) de código abierto de Tencent.

TubeMQ ha estado funcionando desde 2013 y ofrece almacenamiento y transmisión de alto rendimiento de grandes volúmenes de big data. Dado que ha acumulado más de siete años de almacenamiento y transmisión de datos, TubeMQ tiene ventaja sobre otras herramientas de MQ. Promete un excelente rendimiento y estabilidad en la práctica de producción. Además, tiene un costo relativamente bajo. La guía del usuario de TubeMQ proporciona documentación detallada sobre todo lo que necesita saber sobre la herramienta.

9. Privacidad profunda

Si bien a cada uno de nosotros le encanta disfrutar del mundo digital y de las redes sociales de vez en cuando, una cosa (que todos estamos de acuerdo) falta en el mundo digital es la privacidad. Una vez que cargue una selfie o un video en línea, será observado, analizado e incluso criticado. En el peor de los casos, sus videos e imágenes pueden terminar siendo manipulados.

Es por eso que necesitamos herramientas como DeepPrivacy. Es una técnica de anonimización completamente automática para imágenes que aprovecha GAN (red adversarial generativa) . El modelo GAN de DeepPrivacy no ve ninguna información privada o confidencial. Sin embargo, puede generar una imagen totalmente anónima. Puede hacerlo estudiando y analizando la pose original de los individuos y la imagen de fondo. DeepPrivacy utiliza la anotación de cuadro delimitador para identificar el área sensible a la privacidad de una imagen. Además, utiliza Mask R-CNN para dispersar la información de las caras y DSFD para detectar caras en la imagen.

10. Sistema de predicción de clasificación de películas de IMDb

Este proyecto de ciencia de datos tiene como objetivo calificar una película incluso antes de su lanzamiento. El proyecto se divide en tres partes. La primera parte busca analizar los datos acumulados del sitio web de IMDb. Estos datos incluirán información como directores, productores, producción de casting, descripción de la película, premios, géneros, presupuesto, bruto e imdb_rating. Puede crear el archivo movie_contents.json escribiendo la siguiente línea:

python3 parser.py nb_elements

En la segunda parte del proyecto, el objetivo es analizar los marcos de datos y observar las correlaciones entre las variables. Por ejemplo, si el puntaje de IMDb está o no correlacionado con la cantidad de premios y el bruto mundial. La parte final implicará el uso de Machine Learning (Random Forest) para predecir la calificación de IMDb en función de las variables más relevantes.

Terminando

Estos son algunos de los proyectos de ciencia de datos más útiles en GitHub que puede recrear para mejorar sus habilidades de ciencia de datos del mundo real. Cuanto más tiempo y esfuerzo invierta en la creación de proyectos de ciencia de datos, mejor será la creación de modelos.

Si tiene curiosidad por aprender sobre ciencia de datos, consulte el Programa ejecutivo PG en ciencia de datos de IIIT-B y upGrad, creado para profesionales que trabajan y ofrece más de 10 estudios de casos y proyectos, talleres prácticos, tutoría con expertos de la industria, 1 -on-1 con mentores de la industria, más de 400 horas de aprendizaje y asistencia laboral con las mejores empresas.

¿Cómo nos beneficia contribuir a proyectos de código abierto?

Los proyectos de código abierto son aquellos proyectos cuyo código fuente está abierto a todos y cualquiera puede acceder a él para realizar modificaciones. Contribuir a proyectos de código abierto es muy beneficioso, ya que no solo mejora sus habilidades, sino que también le brinda grandes proyectos para incluir en su currículum. Dado que muchas grandes empresas se están pasando al software de código abierto, será rentable para usted si comienza a contribuir desde el principio. Algunos de los grandes nombres como Microsoft, Google, IBM y Cisco han adoptado el código abierto de una forma u otra. Existe una gran comunidad de desarrolladores competentes de código abierto que contribuyen constantemente a mejorar y actualizar el software. La comunidad es muy amigable para principiantes y siempre está lista para dar un paso adelante y dar la bienvenida a nuevos colaboradores. Existe una buena documentación que puede guiarlo para contribuir al código abierto.

¿Qué es el algoritmo HOG?

Histogram of Oriented Gradients o HOG es un detector de objetos utilizado en visiones por computadora. Si está familiarizado con los histogramas de orientación de borde, puede relacionarlos con HOG. Este método se utiliza para medir las ocurrencias de las orientaciones de degradado en una determinada parte de una imagen. El algoritmo HOG también se usa para calcular los gradientes de orientación de votos ponderados de cuadrados de 16 × 16 píxeles, en lugar de calcular los gradientes para cada píxel de una imagen en particular. La implementación de este algoritmo se divide en 5 pasos que son: cálculo de gradiente, agrupamiento de orientación, bloques de descriptores, normalización de bloques y reconocimiento de objetos.

¿Cuáles son los pasos necesarios para construir un modelo ML?

Se deben seguir los siguientes pasos para desarrollar un modelo de ML: El primer paso es recopilar el conjunto de datos para su modelo. El 80 % de estos datos se utilizará en la formación y el 20 % restante se utilizará en las pruebas y la validación del modelo. Luego, debe seleccionar un algoritmo adecuado para su modelo. La selección del algoritmo depende totalmente del tipo de problema y del conjunto de datos. Luego viene el entrenamiento del modelo. Incluye ejecutar el modelo contra varias entradas y reajustarlo de acuerdo con los resultados. Este proceso se repite hasta que se logran los resultados más precisos.