Dies sind die ergänzenden Dateien für das AlphaCore KDD-Papier.
Bis dies gepackt ist, beziehen Sie die Datei algorithms/alphaCore.R als Quelle
g <- erdos.renyi.game(200, 2/200, directed = T)
E(g)$weight <- 1:ecount(g)
V(g)$name <- paste("v", 1:vcount(g), sep="")
> alphaCore(g)
node alpha batch
1: v1 0.3281309 19
2: v2 0.3281309 30
3: v3 0.3724843 34
4: v4 0.3281309 23
5: v5 0.3281309 19
---
196: v196 0.3281309 28
197: v197 0.0000000 1
198: v198 0.3724843 34
199: v199 0.3281309 23
200: v200 0.3281309 23
> alphaCore(g, featureComputeFun = customNodeFeatures(c("indegree", "triangles")))
node alpha batch
1: v1 0.3060040 14
2: v2 0.0000000 6
3: v3 0.0000000 5
4: v4 0.0000000 5
5: v5 0.0000000 6
---
196: v196 0.6381691 19
197: v197 0.0000000 5
198: v198 0.0000000 5
199: v199 0.6381691 19
200: v200 0.0000000 8
> import networkx as nx
> G = nx.erdos_renyi_graph(n=200, seed=1, p=2/200, directed=True)
> for idx, (u,v,w) in enumerate(G.edges(data=True)):
w['value'] = idx
> alphaCore(G)
nodeID alpha batchID
0 18 0.0 0
1 75 0.0 0
2 78 0.0 0
3 25 0.3 5
4 91 0.3 5
... ... ... ...
195 8 0.7 27
196 131 0.7 27
197 185 0.7 27
198 192 0.7 27
199 158 0.7 28
Zum Ausführen müssen Sie zunächst die drei Datensätze herunterladen:
Die Dateien werden unter https://zenodo.org/record/4898412 gehostet. Speichern Sie die Datei „transfers.db“ in data/tokens/transfers.db. Die passende Datei „exchangeLabels.csv“ sollte unter „data/tokens/exchangeLabels.csv“ abgelegt werden
Die Reddit-Crosslinks sind Teil von http://snap.stanford.edu/conflict/conflict_data.zip. In der ZIP-Datei sind sie in /prediction/detailed_data/ zu finden. Platzieren Sie die Datei am Speicherort data/reddit/post_crosslinks_info.tsv
Holen Sie sich diese Datei von http://opsahl.co.uk/tnet/datasets/openflights.txt und speichern Sie sie in data/flights/openflights.txt.
Öffnen Sie die Datei „evaluation.R“ aus dem Hauptverzeichnis.
Dies ist die Hauptdatei zum Ausführen der Auswertung. Geben Sie die Anzahl Ihrer CPU-Kerne und den Pfad zur extrahierten Datenbankdatei ein.
Um die gesamte Auswertung auszuführen, tun Sie dies idealerweise auf einem Server mit Rscript, da einige Algorithmen, dh einige Zentralitäten, die von der Berechnung des kürzesten Pfads aller Paare abhängen, und unsere eigene Implementierung von gewichtetem K-Core sehr lange Laufzeiten haben. Die vollständige Ausführung dauert je nach Hardware zwischen 1 und 3 Tagen.
AlphaCore mit einer exponentiell abfallenden Schrittweite ist jedoch recht schnell, obwohl es sich nur um eine R-Implementierung handelt.
Bitte verwenden Sie den folgenden BibTeX-Eintrag:
@inproceedings{10.1145/3447548.3467322,
author = {Victor, Friedhelm and Akcora, Cuneyt G. and Gel, Yulia R. and Kantarcioglu, Murat},
title = {Alphacore: Data Depth Based Core Decomposition},
year = {2021},
isbn = {9781450383325},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3447548.3467322},
doi = {10.1145/3447548.3467322},
booktitle = {Proceedings of the 27th ACM SIGKDD Conference on Knowledge Discovery & Data Mining},
pages = {1625–1633},
numpages = {9},
keywords = {core decomposition, networks, data depth},
location = {Virtual Event, Singapore},
series = {KDD '21}
}