Aprendizaje Automático para Datos en Grafos-semestral
Diagrama de temas
-
En esta sección presentamos varios recursos que pueden ser de utilidad.
Software
- NetworkX. Quizá la herramienta de análisis de grafos/redes más popular en Python. Muy fácil de usar y se integar con otras bibliotecas.
- SNAP: Stanford Network Analysis Project. El grupo SNAP de Stanford comparte sus bibliotecas en C++ o Python para el análisis de redes/grafos.
- PyG (a.k.a. PyTorch Geometric). Una biblioteca muy popular para aprendizaje (profundo) en grafos. Naturalmente, está basada en PyTorch.
- Deep Graph Library (DGL). Otra biblioteca popular para aprendizaje profundo en grafos. Sin embargo, esta es agnóstica al framework de base, y puede usarse con PyTorch, TensorFlow o incluso Apache MXNet.
- Spektral. Una biblioteca basada en Tensorflow para aprendizaje profundo en grafos.
- StellarGraph. Otra biblioteca basada en Tensorflow para aprendizaje en grafos.
- PyGSP: Graph Signal Processing in Python. Una biblioteca en Python para procesamiento de señales en grafos.
- graph-tool. Una biblioteca muy similar a NetworkX, pero mucho más eficiente.
- igraph – The network analysis package. Esta es otra biblioteca similar a NetworkX, pero no sólo es más rápida, sino que además está disponible en otros lenguajes (C, Python o R).
- NetworKit – Large-scale network analysis. Otra versión más rápida de NetworkX.
- scikit-network. Un scikit específico para aprendizaje en redes.
- Pajek. Una herramienta específicamente para visualización y análisis de grandes grafos. Además en su sitio tienen algunos datasets.
- Gephi. Otra herramienta para visualización y análisis de grafos. Muy fácil de usar e instalar.
- Alelab’s Graph Neural Networks. El grupo de la Universidad de Pennsylvania comparte la mayoría de sus implementaciones de GNNs (basadas en PyTorch) en este repositorio.
Datasets
- SNAP: Stanford Network Analysis Project. Además del software, el grupo de SNAP también comparte varios datasets.
- Netzschleuder: network catalogue, repository and centrifuge. Un catálogo de grafos de los creadores de graph-tool.
- Network Repository. An interactive scientific network data repository. Otro catálogo de grafos, pero este presenta una interfaz web con la que se puede interactuar en-línea.
- SuiteSparse Matrix Collection. Antes conocida como la University of Florida Sparse Matrix Collection, se trata de una colección de matrices de adyacencia que se pueden descargar y visualizar.
- The KONECT Project. Un sitio web con un amplio y variado dataset específico de grafos, que incluye código auxiliar para su descarga y análisis básico.
- Harvard Dataverse. Varios datasets de la Universidad de Harvard. Aunque no es específico de grafos, muchos de ellos pueden interpretarse como tales.
- Grouplens. Este grupo de la Universidad de Minnesota comparte varios datasets.
- Open Graph Benchmark. Varios datasets para hacer benchmarks. Incluye métodos para cargarlos desde PyG o DGL, además de leaderboards (con código libre y gratuito).
- Kaggle. Kaggle ofrece varios datasets, código de ejemplo y tutoriales. Este link va directo a la sección de datasets.
- Catálogo Nacional de Datos Abiertos. Es un catálogo de datos abiertos a nivel gubernamental del Uruguay. Tiene varios datasets que pueden interpretarse como grafos. Por ejemplos, viajes de ómnibus (https://catalogodatos.gub.uy/dataset/intendencia-montevideo-viajes-realizados-en-los-omnibus-del-stm).
- IMDb Datasets. Específico de películas, el sitio IMDb pone a disposición varios datasets.
- CAIDA Resource Catalog. El CAIDA (Center for Applied Internet Data Analysis) de la Universidad de California tiene disponibles varios datasets relacionados con internet.
- Algunos investigadores comparten varios datasets en sus sitios web personales. Por ejemplo [Mark Newman].