Descripción
Este repositorio alberga las implementaciones oficiales de los modelos PPNP (Predict then Propagate) y APPNP (Approximate Personalized PageRank), tal como se detallan en el artículo de ICLR 2019 "Predict then Propagate: Graph Neural Networks meet Personalized PageRank" de Gasteiger, Bojchevski y Günnemann. El proyecto ofrece versiones tanto en TensorFlow como en PyTorch de estos avanzados modelos de redes neuronales de grafos.
El objetivo principal de este repositorio es proporcionar a investigadores y desarrolladores código accesible para aprovechar estos modelos en tareas que involucran datos estructurados en grafos. Las implementaciones están diseñadas para ser sencillas de usar, con ejemplos e instrucciones claras para reproducir los resultados presentados en el artículo original. Esto facilita la investigación y aplicación de conceptos de Personalized PageRank dentro del marco de GNN.
Las capacidades clave incluyen la habilidad de realizar clasificación de grafos y otras predicciones a nivel de nodo o grafo, combinando eficazmente mecanismos de propagación con modelos predictivos. Los modelos son particularmente adecuados para escenarios donde la comprensión de la importancia y la influencia de los nodos dentro de una red es crucial. El repositorio también incluye utilidades para el manejo de datos, como la conversión de grafos NetworkX al formato SparseGraph del proyecto, permitiendo el uso de conjuntos de datos personalizados.
La audiencia objetivo de este repositorio incluye investigadores de aprendizaje automático, científicos de datos e ingenieros que trabajan con redes neuronales de grafos, análisis de redes y campos relacionados. Los desarrolladores que buscan implementar o experimentar con arquitecturas GNN de vanguardia para tareas como predicción de enlaces, clasificación de nodos o sistemas de recomendación encontrarán este recurso valioso.
La propuesta de valor radica en proporcionar una implementación de código abierto y bien documentada de potentes modelos de redes neuronales de grafos que cierran la brecha entre los algoritmos de grafos tradicionales como Personalized PageRank y las técnicas modernas de aprendizaje profundo. La disponibilidad de versiones tanto en TensorFlow como en PyTorch mejora la flexibilidad y la adopción en diferentes entornos de desarrollo.
Aspectos destacados de Modelos PPNP y APPNP
Implementación en TensorFlow de los modelos PPNP y APPNP
Implementación en PyTorch de los modelos PPNP y APPNP
Código para reproducir resultados del artículo de ICLR 2019
Notebooks de ejemplo para una fácil integración (simple_example_pytorch.ipynb, simple_example_tensorflow.ipynb)
Utilidades para convertir grafos NetworkX al formato SparseGraph
Incluye conjuntos de datos como Cora-ML, Citeseer y PubMed
Soporta tareas de aprendizaje automático basadas en grafos
Basado en el artículo "Predict then Propagate: Graph Neural Networks meet Personalized PageRank"
Código de código abierto disponible en GitHub
Primeros pasos con Modelos PPNP y APPNP
Acceder al Modelo: Clona el repositorio de GitHub en tu máquina local.
Configurar Entorno: Instala los paquetes requeridos usando `pip install -r requirements.txt`.
Integrar vía API: Importa y utiliza las clases de modelo PPNP o APPNP dentro de tus scripts de Python.
Ejecutar Ejemplos: Ejecuta los notebooks de Jupyter proporcionados (`simple_example_pytorch.ipynb` o `simple_example_tensorflow.ipynb`) para ver los modelos en acción.
Reproducir Resultados: Utiliza `reproduce_results.ipynb` para replicar los resultados experimentales del artículo.
Manejo de Datos: Usa `networkx_to_sparsegraph` para la integración de conjuntos de datos personalizados.
Casos de uso de Modelos PPNP y APPNP
- Clasificación de Grafos
- Clasificación de Nodos
- Predicción de Enlaces
- Sistemas de Recomendación
- Análisis de Redes
- Aprendizaje de Grafos Atribuidos








