Coder Social home page Coder Social logo

agrs's Introduction

Análisis y visualización de redes

El objetivo de esta práctica es llevar a cabo el proceso completo de análisis de una red social a través de la obtención, procesamiento y visualización de un conjunto de datos de la red.

Adquisición de datos

En este apartado se detalla el proceso a seguir para generar el fichero json correspondiente qu ese utilizará para alimentar a netwrokX y generar las métricas de grafos correspondientes que serán utilizadas en el grafo final.

Previamente debemos tener una cuenta en Sopity API y crear un fichero credentials.json situado en la carpeta etl. EL fichero tiene el siguiente formato:

{
  "CLIENT_ID" : "fake_client_id",
  "CLIENT_SECRET" : "fake_client_secret"
}

Una vez que tengamos el fichero creado, basratá con ejecutar el siguiente script de python situado en la carpeta etl:

python preprocess_data.py

Este fichero obtiene información para cada uno de los artistas situados en el fichero artists de la carpeta data. Tras la ejecución del script se creará un fichero en formato json denominado processed_data.json

Proceso

En este apartado se detalla los pasos a seguir para generar el fichero json final que se utilizará para alimentar al grafo creado con D3js. Para ello debemos ejecutar el script de python situado en la carpeta etl denominado graphs.py

python graphs.py

Este script además de añadir las métricas de grafos vistas en la asignatura a los artistas, tambien crea en la carpeta etl/images un grafo con networkX, que como se apreciará en la visualización final con D3js es parecido.

Visualización

En este apartado se detalla que elementos continen el grafo finl desarrollado con D3js.

  • Colores de los nodos: Representan diferentes clases en función de la popularidad del artista:

    • Artistas con popularidad muy alta (Color Verde) : Contiene los artistas con una popularidad situada entre los 90 y 100 ptos.
    • Artistas con popularidad alta (Color Morado) : Contiene los artistas con una popularidad situada entre los 50 y 90 ptos.
    • Artistas con popularidad muy alta (Color Naranja) : Contiene los artistas con una popularidad situada entre los 25 y 50 ptos.
    • Artistas con popularidad muy alta (Color Rojo) : Contiene los artistas con una popularidad situada entre los 0 y 25 ptos.
  • Grosor de las aristas: Representan el número de canciones en las que dos artistas han participado ellos dos juntos.

  • Cuadro de mandos de métricas Nos permite seleccionar la métrica a usar. En función de esta métrica aumentará el tamaño del nodo de la misma. Estan disponibles las siguientes métricas:

    • Centrality
    • Closeness
    • Betweenness
    • Eigenvector
    • Pagerank

Se han añadido tool tips tanto a las aristas como a los nodos para poder conocer toda la información de los artistas y como se relacionan entre ellos.

A continuación se muestra un gif del comportamiento del grafo:

Gif Graph

agrs's People

Contributors

manumonforte avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.