Skip to main content

Kernel SVM library based on sklearn and GPlib.

Project description

Kernel SVM library based on sklearn and GPlib. Provides similar functionality to GPlib for SVMs.

Setup kSVMlib

  • Create and activate virtualenv (for python2) or venv (for python3)

# for python3
python3 -m venv .env
# or for python2
python2 -m virtualenv .env

source .env/bin/activate
  • Upgrade pip

python -m pip install --upgrade pip
  • Install kSVMlib package

python -m pip install ksvmlib

Use kSVMlib

  • Import kSVMlib to use it in your python script.

import ksvmlib
  • Generate some random data.

import numpy as np
data = {}
data['X'] = np.vstack((
    np.random.multivariate_normal([1, 1], [[1, 0], [0, 1]], 100),
    np.random.multivariate_normal([3, 3], [[1, 0], [0, 1]], 100)
))
data['Y'] = np.vstack((
    np.ones((100, 1)),
    np.zeros((100, 1)),
))

validation = ksvmlib.dm.RandFold(fold_len=0.2, n_folds=1)
train_set, test_set = validation.get_folds(data)[0]
  • Initialize the KSVM model and a metric to measure the results.

model = ksvmlib.KSVM(ksvmlib.ker.SquaredExponential())
accuracy = ksvmlib.me.Accuracy()
  • Fit the model to the data.

fitting_method = ksvmlib.fit.GridSearch(
    obj_fun=accuracy.fold_measure,
    max_fun_call=300
)
train_validation = ksvmlib.dm.RandFold(fold_len=0.2, n_folds=3)

log = fitting_method.fit(model, train_validation.get_folds(
    train_set
))
print("Fitting log: {}".format(log))
  • Finally plot the results.

print("Accuracy: {}".format(accuracy.measure(model, train_set, test_set)))
ksvmlib.plot.kernel_sort_data(model, test_set)
  • There are more examples in examples/ directory. Check them out!

Develop kSVMlib

  • Download the repository using git

git clone https://gitlab.com/ibaidev/ksvmlib.git
cd ksvmlib
git config user.email 'MAIL'
git config user.name 'NAME'
git config credential.helper 'cache --timeout=300'
git config push.default simple
  • Update API documentation

source ./.env/bin/activate
pip install Sphinx
cd docs/
sphinx-apidoc -f -o ./ ../ksvmlib

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

ksvmlib-0.0.4.tar.gz (17.8 kB view hashes)

Uploaded Source

Built Distribution

ksvmlib-0.0.4-py2.py3-none-any.whl (19.5 kB view hashes)

Uploaded Python 2 Python 3

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