图形内核的scikitlearn兼容库
grakel的Python项目详细描述
GraKeL是一个库,它提供了几个成熟的图形内核的实现。库将这些内核统一到一个公共框架中。此外,它还提供了一些在图形内核之上工作的框架的实现。具体来说,GraKeL包含15个内核和2个框架。该库与scikit-learn管道兼容,允许在机器学习算法内轻松快速地集成。在
具体来说,目前实现了以下内核和框架:
- Vertex histogram kernel
- Edge histogram kernel
- ^{str1}$Shortest path kernel来自Borgwardt和Kriegel:Shortest-path kernels on graphs(ICDM 2005)
- Graphlet kernel来自shervasidze等人。:Efficient graphlet kernels for large graph comparison(AISTATS 2009)
- Random walk kernel来自Vishwanathan等人。:Graph Kernels(JMLR 11(Apr))
- ^{str1}$Neighborhood hash graph kernel来自Hido和Kashima:A Linear-time Graph Kernel(ICDM 2009)
- Weisfeiler-Lehman framework来自shervasidze等人。:Weisfeiler-Lehman Graph Kernels(JMLR 12(Sep))
- ^{str1}$Neighborhood subgraph pairwise distance kernel来自Costa and De Grave:Fast Neighborhood Subgraph Pairwise Distance Kernel(icml2010)
- Lovasz-theta kernel来自Johansson等人。:Global graph kernels using geometric embeddings(ICML 2014)
- SVM-theta kernel来自Johansson等人。:Global graph kernels using geometric embeddings(ICML 2014)
- Ordered decompositional DAG kernel来自Da San Martino等人。:A Tree-Based Kernel for Graphs(SDM 2012)
- GraphHopper kernel来自Feragen等人。:Scalable kernels for graphs with continuous attributes(NIPS 2013)
- Propagation kernel来自Neumann等人。:Propagation kernels: efficient graph kernels from propagated information(机器学习102(2))
- Pyramid match kernel来自Nikolentzos等人。:Matching Node Embeddings for Graph Similarity(AAAI 2017)
- Subgraph matching kernel来自Kriege和Mutzel:Subgraph Matching Kernels for Attributed Graphs(ICML 2012)
- Multiscale Laplacian kernel来自Kondor and Pan:The Multiscale Laplacian Graph Kernel(NIPS 2016)
- Core framework来自Nikolentzos等人。:A Degeneracy Framework for Graph Similarity(IJCAI 2018)
- Weisfeiler-Lehman optimal assignment kernel来自Kriege等人。:On Valid Optimal Assignment Kernels and Applications to Graph Classification(NIPS 2016)
要了解如何安装和使用GraKeL,并了解有关实现的内核和框架的更多信息,请阅读我们的documentation。要了解库的功能和示例应用程序,请查看examples/
目录中的examples和{
如果发现错误,请打开issue。要提出一个新的内核,可以打开一个feature request。在
安装
GraKeL库需要安装以下软件包:
- Python(>;=2.7,>;=3.5)
- 数量(>;=1.8.2)
- 压缩性(>;=0.13.3)
- Cython(>;=0.27.3)
- cvxopt(>;=1.2.0)[可选]
- future(>;=0.16.0)(对于python 2.7)
要安装软件包,请运行:
$ pip install grakel
运行测试
要测试包,请执行:
^{pr2}$运行示例
$ cd examples
$ python shortest_path.py
引用
如果您在科学出版物中使用GraKeL,请引用我们的论文(http://jmlr.org/papers/volume21/18-370/18-370.pdf):
@article{JMLR:v21:18-370,
author = {Giannis Siglidis and Giannis Nikolentzos and Stratis Limnios and Christos Giatsidis and Konstantinos Skianis and Michalis Vazirgiannis},
title = {GraKeL: A Graph Kernel Library in Python},
journal = {Journal of Machine Learning Research},
year = {2020},
volume = {21},
number = {54},
pages = {1-5}
}
许可证
GraKeL是在bsd3-clause许可下发布的。该库利用了^{a44 }(图的自同构群和正则标号的计算工具)的C++源代码,即^ {STR 1 } $LGPL 许可。此外,GraKeL的可选依赖项cvxopt包(一个用于凸优化的软件包)是GPL许可的。在
- 项目
标签: