Deskripsi
EvolveGCN adalah proyek open-source yang menyediakan implementasi kode untuk Evolving Graph Convolutional Networks (EvolveGCN), sebuah pendekatan baru untuk graf dinamis. Kerangka kerja ini, yang dirinci dalam makalah yang diterbitkan di AAAI 2020, mengatasi tantangan pemodelan struktur graf yang berubah seiring waktu. Repositori ini menyediakan seperangkat alat dan skrip komprehensif yang diperlukan untuk mereplikasi eksperimen dan mengeksplorasi kemampuan EvolveGCN.
Proyek ini mencakup kode untuk menangani dan memproses berbagai jenis data graf dinamis. Tujuh dataset yang digunakan dalam makalah asli dirinci, termasuk model blok stokastik, jaringan transaksi bitcoin (OTC dan Alpha), jaringan sosial UC Irvine, data sistem otonom, jaringan hyperlink Reddit, dan dataset eliptik. Instruksi disediakan untuk mengunduh dan menyiapkan dataset ini, dengan versi dataset eliptik yang telah diproses sebelumnya tersedia melalui tautan, meskipun pembaruan mencatat ketidakvalidan tautan dan memberikan instruksi persiapan manual.
Penyiapan EvolveGCN dapat dilakukan menggunakan Docker, yang menyederhanakan konfigurasi lingkungan. Repositori berisi Dockerfile yang menjelaskan kontainer untuk menjalankan eksperimen pada mesin berbasis Unix. Ketersediaan GPU direkomendasikan untuk pelatihan, dengan opsi untuk menonaktifkan CUDA jika diperlukan. Proses instalasi melibatkan pembangunan citra Docker dan memulai kontainer, yang menyediakan lingkungan siap pakai untuk menjalankan kode.
Penggunaan melibatkan eksekusi skrip Python dengan file konfigurasi yang ditentukan melalui argumen baris perintah. Skrip `run_exp.py` adalah pusat untuk meluncurkan eksperimen, menggunakan file konfigurasi YAML yang mendefinisikan berbagai parameter. Proyek ini juga mendukung penyetelan hyperparameter dengan memungkinkan parameter diatur dalam batas minimum dan maksimum yang ditentukan, memungkinkan pengambilan sampel acak untuk setiap eksekusi. Untuk analisis terperinci, file log yang dihasilkan selama eksperimen dapat diproses menggunakan skrip `log_analyzer.py` untuk mengekstrak metrik evaluasi pada epoch validasi terbaik.
EvolveGCN sangat relevan bagi peneliti dan praktisi di bidang machine learning, graph neural networks, dan data science yang bekerja dengan data graf yang berkembang atau dinamis. Sifatnya yang open-source dan dokumentasi terperinci menjadikannya sumber daya yang berharga untuk memajukan bidang pembelajaran representasi graf dinamis dan aplikasinya.
Sorotan EvolveGCN
Kode untuk Evolving Graph Convolutional Networks (EvolveGCN)
Dirancang untuk analisis graf dinamis
Mencakup implementasi untuk 7 dataset
Menyediakan penyiapan Docker untuk manajemen lingkungan
Mendukung penyetelan hyperparameter dengan batas min/maks
Mencakup skrip penganalisis log untuk hasil eksperimen
Diterbitkan di AAAI 2020
Repositori kode open-source
Membutuhkan PyTorch 1.0+ dan Python 3.6+
Akselerasi GPU direkomendasikan
Memulai dengan EvolveGCN
Siapkan lingkungan: Instal Docker dan driver NVIDIA jika menggunakan GPU.
Bangun citra Docker: Navigasikan ke folder docker-set-up dan jalankan `sudo docker build -t gcn_env:latest .`.
Mulai kontainer Docker: Jalankan `sudo docker run -ti --gpus all -v $( pwd ) :/evolveGCN gcn_env:latest`.
Siapkan data: Unduh dan tempatkan dataset di folder 'data' sesuai instruksi.
Konfigurasi eksperimen: Edit atau buat file konfigurasi YAML di folder 'experiments'.
Jalankan eksperimen: Eksekusi `python run_exp.py --config_file ./experiments/parameters_example.yaml`.
Analisis hasil: Gunakan `log_analyzer.py` untuk mengurai file log untuk metrik evaluasi.
Kasus Penggunaan EvolveGCN
- Pemodelan Graf Dinamis
- Analisis Evolusi Jaringan
- Klasifikasi Node
- Prediksi Tautan
- Representasi Graf Temporal
- Analisis Jaringan Sosial
- Deteksi Penipuan







