Skip to main content
QUICK REVIEW

[论文解读] GraKeL: A Graph Kernel Library in Python

Giannis Siglidis, Giannis Nikolentzos|arXiv (Cornell University)|Jun 6, 2018
Advanced Graph Neural Networks参考文献 5被引用 29
一句话总结

GraKeL 是一个 Python 库,将多种最先进的图核统一到一个与 scikit-learn 兼容的框架中,支持无缝集成到图分类和聚类的机器学习流水线中。它支持 15 种核函数和 2 种核框架,通过 Cython 和 NumPy 实现高效计算,在速度和易用性方面优于现有的 graphkernels 等库,同时为核函数的比较与评估提供标准化接口。

ABSTRACT

The problem of accurately measuring the similarity between graphs is at the core of many applications in a variety of disciplines. Graph kernels have recently emerged as a promising approach to this problem. There are now many kernels, each focusing on different structural aspects of graphs. Here, we present GraKeL, a library that unifies several graph kernels into a common framework. The library is written in Python and adheres to the scikit-learn interface. It is simple to use and can be naturally combined with scikit-learn's modules to build a complete machine learning pipeline for tasks such as graph classification and clustering. The code is BSD licensed and is available at: https://github.com/ysig/GraKeL .

研究动机与目标

  • 将多种图核实现统一到一个可重用且可扩展的框架中。
  • 实现图核与基于 scikit-learn 的机器学习流水线的无缝集成。
  • 提供一个标准化、可扩展且高效的平台,用于比较和评估图核函数。
  • 支持离散和连续的顶点/边属性,并能处理带标签和不带标签的图。
  • 通过 BSD 许可证和全面的文档,促进图核研究中的可复现性和协作。

提出的方法

  • 该库通过继承一个扩展了 scikit-learn 的 TransformerMixin 的基类 Kernel 来实现所有图核,确保与 scikit-learn API 的兼容性。
  • 核函数通过 NumPy 和 SciPy 的优化数值运算进行计算,性能关键部分使用 Cython 编译。
  • 该框架支持带标签和连续属性的图,对顶点和边特征提供专门的处理机制。
  • 图同构性检查使用 BLISS 对小图进行,特定核函数的 Lovász theta 函数通过 CVXOPT 计算。
  • 该库提供 datasets 子模块,可访问标准的图分类基准数据集,如 MUTAG 和 ENZYMES。
  • 通过 fit_transform 和 transform 方法支持端到端工作流,可在独立的图集合上进行训练和推理。

实验结果

研究问题

  • RQ1如何将多种图核统一到一个可扩展且用户友好的软件框架下?
  • RQ2与现有图核库相比,GraKeL 在计算效率方面提升了多少?
  • RQ3GraKeL 能否原生集成到基于 scikit-learn 的图机器学习流水线中?
  • RQ4该库的设计在多大程度上促进了新图核实现的评估与比较?
  • RQ5在标准基准测试中,GraKeL 相较于其他实现(如 graphkernels)实现了多大的性能提升?

主要发现

  • GraKeL 实现了 15 种不同的图核函数和 2 种核框架,显著优于仅提供 6 种核变体的 graphkernels 库。
  • 在 ENZYMES 基准数据集上,GraKeL 的核函数计算速度超过 graphkernels 中对应的 C++ 实现,展现出更高的效率。
  • 在 MUTAG 数据集上,使用 ShortestPath 核函数和预计算核的 SVM 分类器,GraKeL 达到了 84.21% 的准确率。
  • GraKeL 的设计支持与 scikit-learn 流水线的直接集成,使用户能够无缝结合图核与标准机器学习算法(如 SVM)。
  • 该库的面向对象结构和与 scikit-learn 的兼容性,使其易于扩展、比较和基准测试新的图核设计。
  • 全面的文档和在 GitHub 上公开的 BSD 许可版本,促进了社区协作和可复现的研究。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。