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.2.tar.gz
(17.8 kB
view hashes)
Built Distribution
Close
Hashes for ksvmlib-0.0.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dcd3e5e8db2e1b591b077f4eea333a9368dfde7fb5a0bb6dae8639c6f21cc8c8 |
|
MD5 | 1cd5a46de22e8f748df5cf287e35b27b |
|
BLAKE2b-256 | d2a782b488b038589cffd16dba6bb52b9ef443fab9676658bacb6493c9c8d50e |