GraphVite重新實現了DeepWalk,LINE,Node2vec等方法,速度提高了幾十倍,的確牛,不知道啥時候也能把我們等方法也實現上去,哈哈。
這個Tangjian實驗室提出了LINE,面向大規模的網絡表示學習方法,同一時期,Tangjie也提出了另一個NetSMF,也是很不錯。但是相比之下,還是GraphVite速度更快,支持方法也更廣泛。實際上這三種方法DeepWalk,LINE,Node2vec實在差不了多少。
安裝這玩意真夠折騰的,首先檢查gcc版本,gcc -v,gcc版本在4.9以下估計要危險,編譯可能會出錯。
conda安裝,否則慢成狗,記得配鏡像。
conda安裝需要:
1. conda config --add channels conda-forge
2. conda install -c milagraph -c conda-forge graphvite
但是樓主在安裝graphvite的時候,它還沒有及時更新到鏡像裏。相對其它的包,只有它慢成狗。
graphvite-0.2.0 | 51.6 MB | ######################4 | 38%
一開始嘗試編譯安裝,在編譯的過程需要安裝:pybind11, log4xx, flag等等一大堆,最終不行。所以只能用conda來安裝。
安裝完畢,試試
graphvite baseline quick start
嘗試使用LINE在Blogcatalog數據集上,得到的結果還是不錯的
ipython
>>> import pickle
>>> with open("line_blogcatalog.pkl", "rb") as fin:
>>> blogcatalog = pickle.load(fin)
>>> names = blogcatalog.id2name
>>> embeddings = blogcatalog.vertex_embeddings
>>> print(names[1024], embeddings[1024])