Variant-SVMs
VarSVM is a Python module for solving variants Support Vector Machines (SVM).
Website: https://variant-svm.readthedocs.io
This project was created by Ben Dai. If there is any problem and suggestion please contact me via <bdai@umn.edu>.
Installation
Dependencies
Tab-Data requires:
Python
NumPy
Pandas
Sklearn
User installation
Install Variant-SVMs using pip
pip install tab-data
or
pip install git+https://github.com/statmlben/tab-data.git
Source code
You can check the latest sources with the command:
git clone https://github.com/statmlben/tab-data.git
Documentation
weightsvm
Classical weighted SVMs.
class VarSVM.weightsvm(alpha=[], beta=[], C=1., max_iter = 1000, eps = 1e-4, print_step = 1)
- Parameters:
alpha: Dual variable.
beta: Primal variable, or coefficients of the support vector in the decision function.
C: Penalty parameter C of the error term.
max_iter: Hard limit on iterations for coordinate descent.
eps: Tolerance for stopping criterion based on the relative l1 norm for difference of beta and beta_old.
print_step: If print the interations for coordinate descent, 1 indicates YES, 0 indicates NO.
- Methods:
- decision_function(X): Evaluates the decision function for the samples in X.
X : array-like, shape (n_samples, n_features)
- fit(X, y, sample_weight=1.): Fit the SVM model.
X : {array-like, sparse matrix}, shape (n_samples, n_features)
y : array-like, shape (n_samples,) NOTE: y must be +1 or -1!
sample_weight : array-like, shape (n_samples,), weight for each sample.
Drift SVM
SVM with dift or fixed intercept for each instance.
class VarSVM.driftsvm(alpha=[], beta=[], C=1., max_iter = 1000, eps = 1e-4, print_step = 1)
- Parameters:
alpha: Dual variable.
beta: Primal variable, or coefficients of the support vector in the decision function.
C: Penalty parameter C of the error term.
max_iter: Hard limit on iterations for coordinate descent.
eps: Tolerance for stopping criterion based on the relative l1 norm for difference of beta and beta_old.
print_step: If print the interations for coordinate descent, 1 indicates YES, 0 indicates NO.
- Methods:
- decision_function(X): Evaluates the decision function for the samples in X.
X : array-like, shape (n_samples, n_features)
- fit(X, y, drift, sample_weight=1.): Fit the SVM model.
X : {array-like, sparse matrix}, shape (n_samples, n_features)
y : array-like, shape (n_samples,). NOTE: y must be +1 or -1!
drift: array-like, shape (n_samples,), drift or fixed intercept for each instance, see doc.
sample_weight : array-like, shape (n_samples,), weight for each instance.
Non-negative Drift SVM
SVM with non-negative constrains for coefficients.
class VarSVM.noneg_driftsvm(alpha=[], beta=[], C=1., max_iter = 1000, eps = 1e-4, print_step = 1)
- Parameters:
alpha: Dual variable.
beta: Primal variable, or coefficients of the support vector in the decision function.
C: Penalty parameter C of the error term.
max_iter: Hard limit on iterations for coordinate descent.
eps: Tolerance for stopping criterion based on the relative l1 norm for difference of beta and beta_old.
print_step: If print the interations for coordinate descent, 1 indicates YES, 0 indicates NO.
- Methods:
- decision_function(X): Evaluates the decision function for the samples in X.
X : array-like, shape (n_samples, n_features)
- fit(X, y, drift, sample_weight=1.): Fit the SVM model.
X : {array-like, sparse matrix}, shape (n_samples, n_features)
y : array-like, shape (n_samples,). NOTE: y must be +1 or -1!
drift: array-like, shape (n_samples,), drift or fixed intercept for each instance, see doc.
sample_weight : array-like, shape (n_samples,), weight for each instance.
Example
import numpy as np
from sklearn.datasets import make_classification
from VarSVM import noneg_driftsvm
X, y = make_classification(n_features=4, random_state=0)
y = y * 2 - 1
n = len(X)
drift = .28*np.ones(n)
clf = noneg_driftsvm()
clf.fit(X=X, y=y, drift=drift)
y_pred = clf.decision_function(X=X, drift=drift)
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file varsvm-0.6.tar.gz.
File metadata
- Download URL: varsvm-0.6.tar.gz
- Upload date:
- Size: 5.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
583d7ca6f233f55f8f28494ce34835adc258c3acb42cae0b9a5f2a2133e2d2dc
|
|
| MD5 |
8c2d2ec5b6de542f646937d5f9dce586
|
|
| BLAKE2b-256 |
9836f58f243d0ba33ba5d1dc9cfb09820825303c4a09ef5449e5a9feff4f18f7
|