开源网络嵌入评估工具包
evalne的Python项目详细描述
evalne:一个python库,用于评估链接预测的网络嵌入方法
这个存储库提供了evalne的源代码,evalne是一个开源的python 用于评估和比较网络性能的库 链路预测(lp)任务的嵌入(ne)方法。图书馆打算 通过提供 任务的自动化和抽象,如超参数调整、选择 训练和测试边缘、负采样、评分功能的选择等。
该库既可以用作命令行工具,也可以用作api。在它的当前 版本,evalne可以评估未加权的有向和无向简单网络。
图书馆由Alexandru Mara(Alexandru.Mara(at)Ugent.be)管理。满 evalne的文档由主持阅读文档 此处
对于方法学家
命令行界面与配置文件结合使用,允许用户 无需评估任何公开可用的ne方法实现 编写附加代码。这些实现可以从库中获得 如 openne或 创业板 以及直接从作者的网页,例如。 深度行走, 节点2vec, 行, 修剪, 元路径2vec, cne
evalne还包括以下lp启发式,用于定向和 无向网络(输入和输出节点邻域),可用于 基线:
- 随机预测
- 普通邻居
- 雅卡系数
- ADAMIC ADAR指数
- 优惠附件
- 资源分配指数
对于从业者
当用作api时,evalne提供以下函数:
- 加载和预处理图形
- 获取generAL图形统计
- 计算列车/测试/验证拆分
- 生成假边
- 评估链接预测:
- 节点嵌入
- 边缘嵌入
- 相似性分数(例如,由lp启发式给出的分数)
- 提供从节点特征向量计算边缘嵌入的函数
- 平均值
- 阿达玛德
- 加权l1
- 加权l2
- 任何sklearn二进制分类器都可以用作lp算法
- 实现多个精度指标。
- 包括参数调整子程序
安装
该库已经在Python2.7和Python3.6上进行了测试。
evalne取决于以下软件包:
- 努比
- scipy
- sklearn
- matplotlib
- 网络x 2.2
在安装evalne之前,请确保安装了pip
和python tk
包
在你的系统上,这是可以做到的
通过运行:
# Python 2 sudo apt-get install python-pip sudo apt-get install python-tk # Python 3 sudo apt-get install python3-pip sudo apt-get install python3-tk
选项1:使用pip安装库:
# Python 2 pip install evalne # Python 3 pip3 install evalne
选项2:克隆代码并安装:
克隆evalne存储库:
git clone https://github.com/Dru-Mara/EvalNE.git cd EvalNE
下载严格的库依赖项并安装:
# Python 2 pip install -r requirements.txt sudo python setup.py install # Python 3 pip3 install -r requirements.txt sudo python3 setup.py install
通过运行simple_example.py
或functions_example.py
检查安装,例如:
# Python 2cd examples/ python simple_example.py # Python 3cd examples/ python3 simple_example.py
注意:为了运行计算器示例.py
脚本,
需要openne library、prune和metapath2vec。安装说明
它们是可用的
这里,这里,
以及这里,
分别是。有关如何使用.ini文件运行计算的说明如下
在下一节中提供。
用法
作为命令行工具
库将.ini配置文件作为输入。此文件允许用户 从要计算的方法和基线指定计算设置 到边缘嵌入方法、要调整的参数或要报告的分数。
提供了一个说明可用选项的示例conf.ini
文件
对于每个参数。可以修改此文件以模拟
评估设置或用作生成其他.ini文件的模板。
提供了附加配置(.ini)文件来复制实验
东北文献中不同论文的章节。这些可以在不同的
examples/
下的文件夹。一个这样的配置文件是
示例/node2vec/conf_node2vec.ini
。此文件模拟链接预测
a.grover"网络可扩展特征学习"论文的实验研究
和J.Leskovec。
一旦设置了配置,就可以按照下一个 小节。
运行conf示例
为了使用提供的conf.ini
或任何其他.ini
文件,需要执行以下步骤:
下载/安装要测试的方法:
- 对于conf.ini:
- 安装openne
- 安装prune
- 对于其他.ini文件,您可能需要:
- 深度行走, 节点2vec, 行, metapath2vec,和/或 cne
- 对于conf.ini:
下载示例中使用的数据集:
- 对于conf.ini:
- 对于其他.ini文件,您可能需要:
在相应的.ini的in paths选项中设置正确的数据集路径 文件。以及methods-u-opne和/或methods-u-other选项下的正确方法路径。
运行评估:
啊!
注意:evalne的输入网络必须采用edgelist格式。
作为API
库可以像任何其他python模块一样导入和使用。下一个我们
提供一个非常基本的示例,对于更完整的示例,我们请用户参考
示例/
文件夹。
输出
库可以提供两种类型的输出,具体取决于scores选项的值
配置文件的。如果指定了关键字all,库将生成
文件名为eval output.txt
包含对每个方法和网络分析的所有
可用的指标(黄金、精度、F分数等)。如果不止一个实验重复
请求时,报告的值将是所有重复的平均值。输出
文件将位于运行评估的同一路径中。
将scores选项设置为%(最大化)
将生成与以前类似的输出文件。
但是,此文件的内容将是一个表。x networks)仅包含
在方法和网络的每个组合的最大化选项中指定的分数
所有实验重复的平均值。
此外,如果选项traintest path包含有效的文件名,evalne将创建 在所提供的每个outpaths下都有该名称的文件。在每一条道路上 库将存储EDGE的真假训练集和测试集。
注意:表格输出不适用于有向和无向网络的混合。
引文
如果你发现埃文对你的研究有用,请引用我们的 arxiv论文
AAAAAAAAA 8