Skip to main content

Wasserstein Weisfeiler-Lehman Graph Kernels

Project description

WWL Package

Installation

To install wwl, run the following:

$ pip install cython numpy
$ pip install wwl

Usage

WWL can be used to compute the pairwise kernel matrix between a list of Graphs. The kernel function wwl takes as input a list of igraph Graph objects. It can also take their node features (if they are continuously attributed), the number of iterations for the embedding scheme, the value for gamma in the Laplacian kernel, and a flag for sinkhorn approximations.

from wwl import wwl

# load the graphs
graphs = [ig.read(fname) for fname in graph_filenames]

# load node features for continuous graphs
node_features = np.load(path_to_node_features)

# compute the kernel
kernel_matrix = wwl(graphs, node_features=node_features, num_iterations=4)

# use in SVM
from sklearn.svm import SVC

train_index, test_index = np.load(train_index_path), np.load(test_index_path)
y = np.load(path_to_labels)
K_train = kernel_matrix[train_index][:,train_index]
K_test = kernel_matrix[test_index][:,train_index]

svm = SVC(kernel='precomputed') # For a Krein SVM, please refer to krein.py
svm.fit(K_train)

y_predict = svm.predict(K_test)

Please see utilities.wwl_custom_grid_search_cv for a custom crossvalidation to cross-validate the number of iterations, gammas in the Laplacian kernel, and other parameters for the SVM.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wwl-0.1.2.tar.gz (7.0 kB view details)

Uploaded Source

Built Distribution

wwl-0.1.2-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

Details for the file wwl-0.1.2.tar.gz.

File metadata

  • Download URL: wwl-0.1.2.tar.gz
  • Upload date:
  • Size: 7.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.22.0

File hashes

Hashes for wwl-0.1.2.tar.gz
Algorithm Hash digest
SHA256 df2ce1f8d57dee88706c4350ab9ff22d43fb9fe7596f6fafb408a65845a5c3e6
MD5 025211127a254a9d39940e52054967d8
BLAKE2b-256 96c08d0e8c1d5b9c92102173f42d6834c14d20ea3bbf2cb811c8eb4b8710718e

See more details on using hashes here.

File details

Details for the file wwl-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: wwl-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 8.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.22.0

File hashes

Hashes for wwl-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 109dabcb32b7657f8a911bd9b098b7488c0e58031834e0e56a6c89a0b3484925
MD5 0af613cd1ed1d2968a7198266eb94b4e
BLAKE2b-256 74bd11f5a76d34fc739432a4db2cd90ac95caa6e7ee4c0dc4222730c66016d02

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page