Coder Social home page Coder Social logo

vishalbelsare / grakel Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ysig/grakel

0.0 0.0 0.0 20.55 MB

A scikit-learn compatible library for graph kernels

Home Page: https://ysig.github.io/GraKeL/dev/

License: BSD 3-Clause "New" or "Revised" License

Shell 0.74% Batchfile 0.41% Python 71.49% C++ 26.62% C 0.74%

grakel's Introduction

GraKeL: A library for graph kernels

Pypi Versions Coverage Status Travis Status Appveyor status CircleCI Status

grakel is a library compatible with the project of scikit-learn

Installing grakel

The grakel library requires:

  • Python [>=2.7, >=3.5]
  • NumPy [>=1.8.2]
  • SciPy [>=0.13.3]
  • Cython [>=0.27.3]
  • cvxopt [>=1.2.0] [optional: lovasz]
  • future [>=0.16.0] (for python 2.7)

Installing Dependencies

For installing dependencies the procedure is the well known:

(sudo) pip install extension>=extension_version

or

(sudo) pip install -r requirements.txt

where (sudo) depends on if pip has superuser privilages.

Installing the development-version

To install the development-version from pip execute:

$ (sudo) pip install grakel-dev

whereas to install it from conda:

$ conda install grakel-dev

Usage

To learn how to use the GraKeL api as a user, please read the documentation on sections Introduction and A longer introduction (in case your are full of curiosity).

Testing

In order for the following to work you first need to build the package cython extension locally by executing:

$ python setup.py build_ext -i

To test the package, execute:

$ nosetests

for executing unit_tests or use a testing-interface for testing the kernel module:

$ python  grakel/tests/test_kernels.py --help
usage: test_kernels.py [-h] [--verbose] [--problematic] [--slow]
                       [--ignore_warnings] [--dataset DATASET] [--normalize]
                       [--develop | --all | --main]

A test file for all kernels

optional arguments:
  -h, --help         show this help message and exit
  --verbose          print kernels with their outputs on stdout
  --problematic      allow execution of problematic test cases in development
  --slow             allow execution of slow test cases in development
  --ignore_warnings  ignore warnings produced by kernel executions
  --dataset DATASET  chose the datset you want the tests to be executed
  --normalize        normalize the kernel output
  --develop          execute only tests connected with current development
  --all              execute all tests
  --main             execute the main tests [default]

for testing graph_kernels:

$ python grakel/tests/test_graph_kernel.py --help
usage: test_graph_kernels.py [-h] [--verbose] [--problematic] [--slow]
                             [--normalize] [--ignore_warnings]
                             [--dataset DATASET] [--develop | --all | --main]

A test file for all kernels

optional arguments:
  -h, --help         show this help message and exit
  --verbose          print kernels with their outputs on stdout
  --problematic      allow execution of problematic test cases in development
  --slow             allow execution of slow test cases in development
  --normalize        normalize the kernel output
  --ignore_warnings  ignore warnings produced by kernel executions
  --dataset DATASET  chose the datset you want the tests to be executed
  --develop          execute only tests connected with current development
  --all              execute all tests
  --main             execute the main tests [default]

and for testing the Graph class:

$ python grakel/tests/test_graph.py --help
usage: test_graph.py [-h] [--verbose] [--ignore_warnings]

A test file for all `Graph` type objects

optional arguments:
  -h, --help         show this help message and exit
  --verbose          verbose outputs on stdout
  --ignore_warnings  ignore warnings produced by kernel executions

You can also execute the kernel test locally through a test-main-function as

$ python -m grakel.tests

Contributing

For learning how to integrate your own kernel, please read section Write your own kernel inside the package documentation. For contributing to the GraKeL project, please read section contributing inside the package documentation.

Citation

If you use GraKeL in a scientific publication, please cite our paper:

@article{siglidis2018grakel,
  title={GraKeL: A Graph Kernel Library in Python},
  author={Siglidis, Giannis and Nikolentzos, Giannis and Limnios, Stratis and Giatsidis, Christos and Skianis, Konstantinos and Vazirgiannis, Michalis},
  journal={arXiv preprint arXiv:1806.02193},
  year={2018}
}

grakel's People

Contributors

arokem avatar bryandeng avatar fabianp avatar giannisnik avatar kjacks21 avatar mechcoder avatar ramaroberto avatar tomdlt avatar vighneshbirodkar avatar ysig avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.