Estos son los archivos complementarios del artículo AlphaCore KDD.
Hasta que esté empaquetado, obtenga el archivo algoritmos/alphaCore.R
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
Para ejecutarlo, primero debe descargar los tres conjuntos de datos:
Los archivos están alojados en: https://zenodo.org/record/4898412 Almacene transfers.db en data/tokens/transfers.db El archivo exchangeLabels.csv correspondiente debe colocarse en data/tokens/exchangeLabels.csv
Los enlaces cruzados de Reddit son parte de http://snap.stanford.edu/conflict/conflict_data.zip. En el archivo zip, se pueden encontrar en /prediction/detailed_data/ Coloque el archivo en la ubicación data/reddit/post_crosslinks_info.tsv
Obtenga este archivo de http://opsahl.co.uk/tnet/datasets/openflights.txt y guárdelo en data/flights/openflights.txt.
Abra el archivo evaluación.R del directorio principal.
Este es el archivo principal para ejecutar la evaluación. Ingrese su número de núcleos de CPU y la ruta al archivo de base de datos extraído.
Para ejecutar toda la evaluación, lo ideal es hacerlo en un servidor con Rscript, ya que algunos algoritmos, es decir, algunas centralidades que dependen de los cálculos de la ruta más corta de todos los pares, y nuestra propia implementación de k-core ponderado, tienen tiempos de ejecución muy largos. La ejecución completa demora entre 1 y 3 días, según el hardware.
Sin embargo, AlphaCore con un tamaño de paso que decrece exponencialmente es bastante rápido, aunque es solo una implementación de R.
Utilice la siguiente entrada BibTeX:
@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}
}