Development of a system for the extraction and analysis of public data form the StackOverflow network using Big Data and Machine Learning techniques

Rodríguez Cuenca, Francisco (2020). Development of a system for the extraction and analysis of public data form the StackOverflow network using Big Data and Machine Learning techniques. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S.I. de Sistemas Informáticos (UPM), Madrid.

Description

Title: Development of a system for the extraction and analysis of public data form the StackOverflow network using Big Data and Machine Learning techniques
Author/s:
  • Rodríguez Cuenca, Francisco
Contributor/s:
  • Gómez Canaval, Sandra
Item Type: Final Project
Degree: Grado en Ingeniería del Software
Date: 2020
Subjects:
Freetext Keywords: Automatización; Gestión de datos; Big Data; Machine Learning
Faculty: E.T.S.I. de Sistemas Informáticos (UPM)
Department: Sistemas Informáticos
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[img] PDF - Users in campus UPM only - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (2MB)

Abstract

En la actualidad, la industria de extracción de conocimiento a partir de grandes cantidades de datos es una de las más importantes en el sector de las tecnologías. Para ello, las empresas de Big Data extraen estos datos, los limpian y los cargan en modelos matemáticos. Estos modelos matemáticos procesan los datos y generan información muy valiosa, que se analiza para tomar buenas decisiones de negocio. El objetivo de este proyecto es diseñar un proceso completo de transformación y análisis de datos, tomando como partida una gran red social de preguntas y respuestas con más de once millones de usuarios: StackOverflow. En particular, este proyecto recorre todas las fases: análisis del origen de los datos, selección de los datos, limpieza, transformación, aplicación de modelos matemáticos y análisis de resultados. Los modelos aplicados son tres tipos iferentes de Aprendizaje No Supervisado: KMeans++, DBSCAN y Ward’s Hierarchical Clustering Algorithm. Estos modelos se aplican en paralelo a diferentes configuraciones de datos, en cuatro diferentes experimentos. Esto permite comparaciones entre los algoritmos utilizados, que otorgan una mayor fiabilidad a los resultados. Las herramientas usadas son BigQuery con SQL para el proceso de extracción, transformación y carga de datos, Kaggle con Python para la orquestación de todo el proceso, y la librería SciKit Learn para la aplicación de los algoritmos de Machine Learning. El proceso diseñado extrae de StackOverflow variables relacionadas con el comportamiento de los usuarios: cantidad de contribuciones, calidad de las contribuciones y su reputación como usuarios. En este proceso de modelado, los algoritmos de KMeans y Ward’s Hierarchical Clustering generan resultados muy parecidos, casi idénticos. DBSCAN permite complementar estos resultados desde una perspectiva diferente. La aplicación de los algoritmos y su análisis lleva a una conclusión: la mayor parte de los usuarios de StackOverflow aportan pocas contribuciones y de baja calidad, mientras que una pequeña parte del total es reponsable de la generación de la mayor parte del contenido y de más alta calidad. Abstract: Today, the industry of extraction of knowledge from large amounts of data is one of the most important in the technology sector. To do this, Big Data companies extract this data, clean it up and load it into mathematical models. These mathematical models process the data and generate very valuable information, which is analyzed to make good business decisions. The objective of this project is to design a complete process of transformation and data analysis, taking as a starting point a large socil network of questions and answers with more than eleven million users: StackOverflow. In particular, this project covers all phases: analysis of data origin, data selection, cleaning, transformation, application of mathematical models and analysis of results. The models applied are three different types of Unsupervised Learning: KMeans++, DBSCAN and Ward’s Hierarchical Clustering Algorithm. These models are applied in parallel to different data configurations, in four different experiments. This allows comparisons between the algorithms used, which gives greater reliability to the results. The tools used are BigQuery with SQL for the process of data extraction, transformation and loading, Kaggle with Python for the orchestration of the whole process, and the SciKit Learn library for the application of the Machine Learning algorithms. The designed process extracts from StackOverflow variables related to user behavior: quantity of contributions, quality of contributions, and their reputation as users. In this modeling process, the KMeans and Ward’s Hierarchical Clustering algorithms generate very similar, almost identical results. DBSCAN complements these results from a different perspective. The application of the algorithms and their analysis leads to one conclusion: the majority of StackOverflow users have low contribution rates and little value, while a small part of the total is responsible for generating most of the quality content.

More information

Item ID: 67056
DC Identifier: https://oa.upm.es/67056/
OAI Identifier: oai:oa.upm.es:67056
Deposited by: Biblioteca Universitaria Campus Sur
Deposited on: 13 May 2021 08:08
Last Modified: 13 May 2021 08:08
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM