Skip to main content

Python binding of LIBSVM

Project description

----------------------------------
--- Python interface of LIBSVM ---
----------------------------------

Table of Contents
=================

- Introduction
- Installation via PyPI
- Installation via Sources
- Quick Start
- Quick Start with Scipy
- Design Description
- Data Structures
- Utility Functions
- Additional Information

Introduction
============

Python (http://www.python.org/) is a programming language suitable for rapid
development. This tool provides a simple Python interface to LIBSVM, a library
for support vector machines (http://www.csie.ntu.edu.tw/~cjlin/libsvm). The
interface is very easy to use as the usage is the same as that of LIBSVM. The
interface is developed with the built-in Python library "ctypes."

Installation via PyPI
=====================

To install the interface from PyPI, execute the following command:

> pip install -U libsvm-official

Installation via Sources
========================

Alternatively, you may install the interface from sources by
generating the LIBSVM shared library.

Depending on your use cases, you can choose between local-directory
and system-wide installation.

- Local-directory installation:

On Unix systems, type

> make

This generates a .so file in the LIBSVM main directory and you
can run the interface in the current python directory.

For Windows, the shared library libsvm.dll is ready in the
directory `..\windows' and you can directly run the interface in
the current python directory. You can copy libsvm.dll to the
system directory (e.g., `C:\WINDOWS\system32\') to make it
system-widely available. To regenerate libsvm.dll, please
follow the instruction of building Windows binaries in LIBSVM
README.

- System-wide installation:

Type

> pip install -e .

or

> pip install --user -e .

The option --user would install the package in the home directory
instead of the system directory, and thus does not require the
root privilege.

Please note that you must keep the sources after the installation.

For Windows, to run the above command, Microsoft Visual C++ and
other tools are needed.

In addition, DON'T use the following FAILED commands

> python setup.py install (failed to run at the python directory)
> pip install .

Quick Start
===========

"Quick Start with Scipy" is in the next section.

There are two levels of usage. The high-level one uses utility
functions in svmutil.py and commonutil.py (shared with LIBLINEAR and
imported by svmutil.py). The usage is the same as the LIBSVM MATLAB
interface.

>>> from libsvm.svmutil import *
# Read data in LIBSVM format
>>> y, x = svm_read_problem('../heart_scale')
>>> m = svm_train(y[:200], x[:200], '-c 4')
>>> pred_labels, pred_metrics, pred_values = svm_predict(y[200:], x[200:], m)

# Construct problem in python format
# Dense data
>>> y, x = [1,-1], [[1,0,1], [-1,0,-1]]
# Sparse data
>>> y, x = [1,-1], [{1:1, 3:1}, {1:-1,3:-1}]
>>> prob = svm_problem(y, x)
>>> param = svm_parameter('-t 0 -c 4 -b 1')
>>> m = svm_train(prob, param)

# Precomputed kernel data (-t 4)
# Dense data
>>> y, x = [1,-1], [[1, 2, -2], [2, -2, 2]]
# Sparse data
>>> y, x = [1,-1], [{0:1, 1:2, 2:-2}, {0:2, 1:-2, 2:2}]
# isKernel=True must be set for precomputed kernel
>>> prob = svm_problem(y, x, isKernel=True)
>>> param = svm_parameter('-t 4 -c 4 -b 1')
>>> m = svm_train(prob, param)
# For the format of precomputed kernel, please read LIBSVM README.


# Other utility functions
>>> svm_save_model('heart_scale.model', m)
>>> m = svm_load_model('heart_scale.model')
>>> pred_labels, pred_metrics, pred_values = svm_predict(y, x, m, '-b 1')
>>> ACC, MSE, SCC = evaluations(y, pred_labels)

# Getting online help
>>> help(svm_train)

The low-level use directly calls C interfaces imported by svm.py. Note that
all arguments and return values are in ctypes format. You need to handle them
carefully.

>>> from libsvm.svm import *
>>> prob = svm_problem([1,-1], [{1:1, 3:1}, {1:-1,3:-1}])
>>> param = svm_parameter('-c 4')
>>> m = libsvm.svm_train(prob, param) # m is a ctype pointer to an svm_model
# Convert a Python-format instance to svm_nodearray, a ctypes structure
>>> x0, max_idx = gen_svm_nodearray({1:1, 3:1})
>>> label = libsvm.svm_predict(m, x0)

Quick Start with Scipy
======================

Make sure you have Scipy installed to proceed in this section.
If numba (http://numba.pydata.org) is installed, some operations will be much faster.

There are two levels of usage. The high-level one uses utility functions
in svmutil.py and the usage is the same as the LIBSVM MATLAB interface.

>>> import numpy as np
>>> import scipy
>>> from libsvm.svmutil import *
# Read data in LIBSVM format
>>> y, x = svm_read_problem('../heart_scale', return_scipy = True) # y: ndarray, x: csr_matrix
>>> m = svm_train(y[:200], x[:200, :], '-c 4')
>>> pred_labels, pred_metrics, pred_values = svm_predict(y[200:], x[200:, :], m)

# Construct problem in Scipy format
# Dense data: numpy ndarray
>>> y, x = np.asarray([1,-1]), np.asarray([[1,0,1], [-1,0,-1]])
# Sparse data: scipy csr_matrix((data, (row_ind, col_ind))
>>> y, x = np.asarray([1,-1]), scipy.sparse.csr_matrix(([1, 1, -1, -1], ([0, 0, 1, 1], [0, 2, 0, 2])))
>>> prob = svm_problem(y, x)
>>> param = svm_parameter('-t 0 -c 4 -b 1')
>>> m = svm_train(prob, param)

# Precomputed kernel data (-t 4)
# Dense data: numpy ndarray
>>> y, x = np.asarray([1,-1]), np.asarray([[1,2,-2], [2,-2,2]])
# Sparse data: scipy csr_matrix((data, (row_ind, col_ind))
>>> y, x = np.asarray([1,-1]), scipy.sparse.csr_matrix(([1, 2, -2, 2, -2, 2], ([0, 0, 0, 1, 1, 1], [0, 1, 2, 0, 1, 2])))
# isKernel=True must be set for precomputed kernel
>>> prob = svm_problem(y, x, isKernel=True)
>>> param = svm_parameter('-t 4 -c 4 -b 1')
>>> m = svm_train(prob, param)
# For the format of precomputed kernel, please read LIBSVM README.

# Apply data scaling in Scipy format
>>> y, x = svm_read_problem('../heart_scale', return_scipy=True)
>>> scale_param = csr_find_scale_param(x, lower=0)
>>> scaled_x = csr_scale(x, scale_param)

# Other utility functions
>>> svm_save_model('heart_scale.model', m)
>>> m = svm_load_model('heart_scale.model')
>>> pred_labels, pred_metrics, pred_values = svm_predict(y, x, m, '-b 1')
>>> ACC, MSE, SCC = evaluations(y, pred_labels)

# Getting online help
>>> help(svm_train)

The low-level use directly calls C interfaces imported by svm.py. Note that
all arguments and return values are in ctypes format. You need to handle them
carefully.

>>> from libsvm.svm import *
>>> prob = svm_problem(np.asarray([1,-1]), scipy.sparse.csr_matrix(([1, 1, -1, -1], ([0, 0, 1, 1], [0, 2, 0, 2]))))
>>> param = svm_parameter('-c 4')
>>> m = libsvm.svm_train(prob, param) # m is a ctype pointer to an svm_model
# Convert a tuple of ndarray (index, data) to feature_nodearray, a ctypes structure
# Note that index starts from 0, though the following example will be changed to 1:1, 3:1 internally
>>> x0, max_idx = gen_svm_nodearray((np.asarray([0,2]), np.asarray([1,1])))
>>> label = libsvm.svm_predict(m, x0)

Design Description
==================

There are two files svm.py and svmutil.py, which respectively correspond to
low-level and high-level use of the interface.

In svm.py, we adopt the Python built-in library "ctypes," so that
Python can directly access C structures and interface functions defined
in svm.h.

While advanced users can use structures/functions in svm.py, to
avoid handling ctypes structures, in svmutil.py we provide some easy-to-use
functions. The usage is similar to LIBSVM MATLAB interface.

Data Structures
===============

Four data structures derived from svm.h are svm_node, svm_problem, svm_parameter,
and svm_model. They all contain fields with the same names in svm.h. Access
these fields carefully because you directly use a C structure instead of a
Python object. For svm_model, accessing the field directly is not recommanded.
Programmers should use the interface functions or methods of svm_model class
in Python to get the values. The following description introduces additional
fields and methods.

Before using the data structures, execute the following command to load the
LIBSVM shared library:

>>> from libsvm.svm import *

- class svm_node:

Construct an svm_node.

>>> node = svm_node(idx, val)

idx: an integer indicates the feature index.

val: a float indicates the feature value.

Show the index and the value of a node.

>>> print(node)

- Function: gen_svm_nodearray(xi [,feature_max=None [,isKernel=False]])

Generate a feature vector from a Python list/tuple/dictionary, numpy ndarray or tuple of (index, data):

>>> xi_ctype, max_idx = gen_svm_nodearray({1:1, 3:1, 5:-2})

xi_ctype: the returned svm_nodearray (a ctypes structure)

max_idx: the maximal feature index of xi

feature_max: if feature_max is assigned, features with indices larger than
feature_max are removed.

isKernel: if isKernel == True, the list index starts from 0 for precomputed
kernel. Otherwise, the list index starts from 1. The default
value is False.

- class svm_problem:

Construct an svm_problem instance

>>> prob = svm_problem(y, x)

y: a Python list/tuple/ndarray of l labels (type must be int/double).

x: 1. a list/tuple of l training instances. Feature vector of
each training instance is a list/tuple or dictionary.

2. an l * n numpy ndarray or scipy spmatrix (n: number of features).

Note that if your x contains sparse data (i.e., dictionary), the internal
ctypes data format is still sparse.

For pre-computed kernel, the isKernel flag should be set to True:

>>> prob = svm_problem(y, x, isKernel=True)

Please read LIBSVM README for more details of pre-computed kernel.

- class svm_parameter:

Construct an svm_parameter instance

>>> param = svm_parameter('training_options')

If 'training_options' is empty, LIBSVM default values are applied.

Set param to LIBSVM default values.

>>> param.set_to_default_values()

Parse a string of options.

>>> param.parse_options('training_options')

Show values of parameters.

>>> print(param)

- class svm_model:

There are two ways to obtain an instance of svm_model:

>>> model = svm_train(y, x)
>>> model = svm_load_model('model_file_name')

Note that the returned structure of interface functions
libsvm.svm_train and libsvm.svm_load_model is a ctypes pointer of
svm_model, which is different from the svm_model object returned
by svm_train and svm_load_model in svmutil.py. We provide a
function toPyModel for the conversion:

>>> model_ptr = libsvm.svm_train(prob, param)
>>> model = toPyModel(model_ptr)

If you obtain a model in a way other than the above approaches,
handle it carefully to avoid memory leak or segmentation fault.

Some interface functions to access LIBSVM models are wrapped as
members of the class svm_model:

>>> svm_type = model.get_svm_type()
>>> nr_class = model.get_nr_class()
>>> svr_probability = model.get_svr_probability()
>>> class_labels = model.get_labels()
>>> sv_indices = model.get_sv_indices()
>>> nr_sv = model.get_nr_sv()
>>> is_prob_model = model.is_probability_model()
>>> support_vector_coefficients = model.get_sv_coef()
>>> support_vectors = model.get_SV()

Utility Functions
=================

To use utility functions, type

>>> from libsvm.svmutil import *

The above command loads
svm_train() : train an SVM model
svm_predict() : predict testing data
svm_read_problem() : read the data from a LIBSVM-format file or object.
svm_load_model() : load a LIBSVM model.
svm_save_model() : save model to a file.
evaluations() : evaluate prediction results.
csr_find_scale_param() : find scaling parameter for data in csr format.
csr_scale() : apply data scaling to data in csr format.

- Function: svm_train

There are three ways to call svm_train()

>>> model = svm_train(y, x [, 'training_options'])
>>> model = svm_train(prob [, 'training_options'])
>>> model = svm_train(prob, param)

y: a list/tuple/ndarray of l training labels (type must be int/double).

x: 1. a list/tuple of l training instances. Feature vector of
each training instance is a list/tuple or dictionary.

2. an l * n numpy ndarray or scipy spmatrix (n: number of features).

training_options: a string in the same form as that for LIBSVM command
mode.

prob: an svm_problem instance generated by calling
svm_problem(y, x).
For pre-computed kernel, you should use
svm_problem(y, x, isKernel=True)

param: an svm_parameter instance generated by calling
svm_parameter('training_options')

model: the returned svm_model instance. See svm.h for details of this
structure. If '-v' is specified, cross validation is
conducted and the returned model is just a scalar: cross-validation
accuracy for classification and mean-squared error for regression.

To train the same data many times with different
parameters, the second and the third ways should be faster..

Examples:

>>> y, x = svm_read_problem('../heart_scale')
>>> prob = svm_problem(y, x)
>>> param = svm_parameter('-s 3 -c 5 -h 0')
>>> m = svm_train(y, x, '-c 5')
>>> m = svm_train(prob, '-t 2 -c 5')
>>> m = svm_train(prob, param)
>>> CV_ACC = svm_train(y, x, '-v 3')

- Function: svm_predict

To predict testing data with a model, use

>>> pred_labels, pred_metrics, pred_values = svm_predict(y, x, model [,'predicting_options'])

y: a list/tuple/ndarray of l true labels (type must be int/double).
It is used for calculating the accuracy. Use [] if true labels are
unavailable.

x: 1. a list/tuple of l training instances. Feature vector of
each training instance is a list/tuple or dictionary.

2. an l * n numpy ndarray or scipy spmatrix (n: number of features).

predicting_options: a string of predicting options in the same format as
that of LIBSVM.

model: an svm_model instance.

pred_labels: a list of predicted labels

pred_metrics: a tuple of metrics including accuracy (for classification), mean
squared error, and squared correlation coefficient (for
regression).

pred_values: a list of decision values or probability estimates (if '-b 1'
is specified). If k is the number of classes in training data,
for decision values, each element includes results of predicting
k(k-1)/2 binary-class SVMs. For classification, k = 1 is a
special case. Decision value [+1] is returned for each testing
instance, instead of an empty list.
For probabilities, each element contains k values indicating
the probability that the testing instance is in each class.
For one-class SVM, the list has two elements indicating the
probabilities of normal instance/outlier.
Note that the order of classes is the same as the 'model.label'
field in the model structure.

Example:

>>> m = svm_train(y, x, '-c 5')
>>> pred_labels, pred_metrics, pred_values = svm_predict(y, x, m)

- Function: svm_read_problem

Read the data from a LIBSVM-format file or object.

# Read the data from a file path
>>> y, x = svm_read_problem('data.txt')

# Read the data from an object created from an url
>>> import urllib.request
>>> import bz2
>>> url = 'https://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/binary/leu.bz2'
>>> with urllib.request.urlopen(url) as r:
>>> with bz2.open(r, 'rt') as f:
>>> y, x = svm_read_problem(f)

Note that we must convert the file object to text mode before
passing it to svm_read_problem() as we do not support binary
mode.

- Functions: svm_load_model/svm_save_model

See the usage by examples:

>>> m = svm_load_model('model_file')
>>> svm_save_model('model_file', m)

- Function: evaluations

Calculate some evaluations using the true values (ty) and the predicted
values (pv):

>>> (ACC, MSE, SCC) = evaluations(ty, pv, useScipy)

ty: a list/tuple/ndarray of true values.

pv: a list/tuple/ndarray of predicted values.

useScipy: convert ty, pv to ndarray, and use scipy functions to do the evaluation

ACC: accuracy.

MSE: mean squared error.

SCC: squared correlation coefficient.

- Function: csr_find_scale_parameter/csr_scale

Scale data in csr format.

>>> param = csr_find_scale_param(x [, lower=l, upper=u])
>>> x = csr_scale(x, param)

x: a csr_matrix of data.

l: x scaling lower limit; default -1.

u: x scaling upper limit; default 1.

The scaling process is: x * diag(coef) + ones(l, 1) * offset'

param: a dictionary of scaling parameters, where param['coef'] = coef and param['offset'] = offset.

coef: a scipy array of scaling coefficients.

offset: a scipy array of scaling offsets.

Additional Information
======================

This interface was originally written by Hsiang-Fu Yu from Department of Computer
Science, National Taiwan University. If you find this tool useful, please
cite LIBSVM as follows

Chih-Chung Chang and Chih-Jen Lin, LIBSVM : a library for support
vector machines. ACM Transactions on Intelligent Systems and
Technology, 2:27:1--27:27, 2011. Software available at
http://www.csie.ntu.edu.tw/~cjlin/libsvm

For any question, please contact Chih-Jen Lin <cjlin@csie.ntu.edu.tw>,
or check the FAQ page:

http://www.csie.ntu.edu.tw/~cjlin/libsvm/faq.html

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

libsvm_official-3.37.0.tar.gz (40.8 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

libsvm_official-3.37.0-cp314-cp314t-win_arm64.whl (48.8 kB view details)

Uploaded CPython 3.14tWindows ARM64

libsvm_official-3.37.0-cp314-cp314t-win_amd64.whl (56.8 kB view details)

Uploaded CPython 3.14tWindows x86-64

libsvm_official-3.37.0-cp314-cp314t-macosx_15_0_x86_64.whl (211.7 kB view details)

Uploaded CPython 3.14tmacOS 15.0+ x86-64

libsvm_official-3.37.0-cp314-cp314t-macosx_15_0_arm64.whl (199.7 kB view details)

Uploaded CPython 3.14tmacOS 15.0+ ARM64

libsvm_official-3.37.0-cp314-cp314-win_arm64.whl (48.8 kB view details)

Uploaded CPython 3.14Windows ARM64

libsvm_official-3.37.0-cp314-cp314-win_amd64.whl (56.7 kB view details)

Uploaded CPython 3.14Windows x86-64

libsvm_official-3.37.0-cp314-cp314-macosx_15_0_x86_64.whl (211.7 kB view details)

Uploaded CPython 3.14macOS 15.0+ x86-64

libsvm_official-3.37.0-cp314-cp314-macosx_15_0_arm64.whl (199.7 kB view details)

Uploaded CPython 3.14macOS 15.0+ ARM64

libsvm_official-3.37.0-cp313-cp313-win_arm64.whl (47.4 kB view details)

Uploaded CPython 3.13Windows ARM64

libsvm_official-3.37.0-cp313-cp313-win_amd64.whl (55.5 kB view details)

Uploaded CPython 3.13Windows x86-64

libsvm_official-3.37.0-cp313-cp313-macosx_15_0_x86_64.whl (211.7 kB view details)

Uploaded CPython 3.13macOS 15.0+ x86-64

libsvm_official-3.37.0-cp313-cp313-macosx_15_0_arm64.whl (199.7 kB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

libsvm_official-3.37.0-cp312-cp312-win_arm64.whl (47.4 kB view details)

Uploaded CPython 3.12Windows ARM64

libsvm_official-3.37.0-cp312-cp312-win_amd64.whl (55.5 kB view details)

Uploaded CPython 3.12Windows x86-64

libsvm_official-3.37.0-cp312-cp312-macosx_15_0_x86_64.whl (211.7 kB view details)

Uploaded CPython 3.12macOS 15.0+ x86-64

libsvm_official-3.37.0-cp312-cp312-macosx_15_0_arm64.whl (199.7 kB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

libsvm_official-3.37.0-cp311-cp311-win_arm64.whl (47.4 kB view details)

Uploaded CPython 3.11Windows ARM64

libsvm_official-3.37.0-cp311-cp311-win_amd64.whl (55.5 kB view details)

Uploaded CPython 3.11Windows x86-64

libsvm_official-3.37.0-cp311-cp311-macosx_15_0_x86_64.whl (211.7 kB view details)

Uploaded CPython 3.11macOS 15.0+ x86-64

libsvm_official-3.37.0-cp311-cp311-macosx_15_0_arm64.whl (199.7 kB view details)

Uploaded CPython 3.11macOS 15.0+ ARM64

libsvm_official-3.37.0-cp310-cp310-win_arm64.whl (47.4 kB view details)

Uploaded CPython 3.10Windows ARM64

libsvm_official-3.37.0-cp310-cp310-win_amd64.whl (55.5 kB view details)

Uploaded CPython 3.10Windows x86-64

libsvm_official-3.37.0-cp310-cp310-macosx_15_0_x86_64.whl (211.7 kB view details)

Uploaded CPython 3.10macOS 15.0+ x86-64

libsvm_official-3.37.0-cp310-cp310-macosx_15_0_arm64.whl (199.7 kB view details)

Uploaded CPython 3.10macOS 15.0+ ARM64

libsvm_official-3.37.0-cp39-cp39-win_arm64.whl (47.4 kB view details)

Uploaded CPython 3.9Windows ARM64

libsvm_official-3.37.0-cp39-cp39-win_amd64.whl (55.5 kB view details)

Uploaded CPython 3.9Windows x86-64

libsvm_official-3.37.0-cp39-cp39-macosx_15_0_x86_64.whl (211.7 kB view details)

Uploaded CPython 3.9macOS 15.0+ x86-64

libsvm_official-3.37.0-cp39-cp39-macosx_15_0_arm64.whl (199.7 kB view details)

Uploaded CPython 3.9macOS 15.0+ ARM64

libsvm_official-3.37.0-cp38-cp38-win_amd64.whl (55.4 kB view details)

Uploaded CPython 3.8Windows x86-64

libsvm_official-3.37.0-cp38-cp38-macosx_15_0_x86_64.whl (211.4 kB view details)

Uploaded CPython 3.8macOS 15.0+ x86-64

libsvm_official-3.37.0-cp38-cp38-macosx_15_0_arm64.whl (199.5 kB view details)

Uploaded CPython 3.8macOS 15.0+ ARM64

File details

Details for the file libsvm_official-3.37.0.tar.gz.

File metadata

  • Download URL: libsvm_official-3.37.0.tar.gz
  • Upload date:
  • Size: 40.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.8.10

File hashes

Hashes for libsvm_official-3.37.0.tar.gz
Algorithm Hash digest
SHA256 50dc3e118a92b43554160c2095d7f06325751a7b5dad097e401e11b64820d2cf
MD5 99276860219111246ca23c300caec1ca
BLAKE2b-256 a4a06cafa26e4f3676ac12f5d8d62203e4fda4526391d8813be32d7540a07029

See more details on using hashes here.

File details

Details for the file libsvm_official-3.37.0-cp314-cp314t-win_arm64.whl.

File metadata

File hashes

Hashes for libsvm_official-3.37.0-cp314-cp314t-win_arm64.whl
Algorithm Hash digest
SHA256 eff5a1f30c33c066624e47e5f46f695aa7751e51fd42b45e2d5bff56b97aa4fe
MD5 261b01d5caa70112acb736a71c667490
BLAKE2b-256 72fdf2ebc89fd049291db7d971a8d3e3b64692b4617b3ae50f90ecddbbf266f4

See more details on using hashes here.

File details

Details for the file libsvm_official-3.37.0-cp314-cp314t-win_amd64.whl.

File metadata

File hashes

Hashes for libsvm_official-3.37.0-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 c6b93d200e45c105352c8950cc20046a9719b40d522deea56552ae893615ecda
MD5 695828c99266c882e480633e9d162d90
BLAKE2b-256 f401a57985c69cc07184988c906badc4f27ac1b0a027426b68ed0b2c6871740c

See more details on using hashes here.

File details

Details for the file libsvm_official-3.37.0-cp314-cp314t-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for libsvm_official-3.37.0-cp314-cp314t-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 3bf677b0da36284a6037f12051b5c2ed05e57416fa1450a1dee160be18cd0773
MD5 2054770cf42c216bf847d1dbc2e14a94
BLAKE2b-256 6b739a11cfbe23f705b3c9e330cfdf284c519a2f2c03148559ec6498cad6dfad

See more details on using hashes here.

File details

Details for the file libsvm_official-3.37.0-cp314-cp314t-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for libsvm_official-3.37.0-cp314-cp314t-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 8ae4180eb59d488cda13ff0546518f4975c0fdba26dd4e25537c4421ce26be3d
MD5 45f13c27136223a519af771bc34f7241
BLAKE2b-256 736e59ea03c4f3854c1c242599785304df0aa27b81e151a6650df573c73c3f24

See more details on using hashes here.

File details

Details for the file libsvm_official-3.37.0-cp314-cp314-win_arm64.whl.

File metadata

File hashes

Hashes for libsvm_official-3.37.0-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 108ba94a14f99188d3a95875fcba5e3ff1d944e718dc21c4f7c5bfe068f29ac3
MD5 ab32f4c091c8ec41af100130091fff2e
BLAKE2b-256 64e2c4d592e6ce305d9cb82746cb283ae4329a06c066030aa794d16134cb8d1e

See more details on using hashes here.

File details

Details for the file libsvm_official-3.37.0-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for libsvm_official-3.37.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 5a6d39f776ade6480182a58608ff27d61098bbdee258ec4e929b7d7f17e05d38
MD5 01352e9660ab7483fabb974ee87f94fe
BLAKE2b-256 9a72cfda59299fb2b55e8c860ef61b43cc75451c88e71acc0afb17230fe027d8

See more details on using hashes here.

File details

Details for the file libsvm_official-3.37.0-cp314-cp314-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for libsvm_official-3.37.0-cp314-cp314-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 54c7d6121428393c8d32b88e302f8d136213ffc564071d995e6946269d1f2614
MD5 934ff223c9313bd119963d4ffd15bd36
BLAKE2b-256 ca0a2495e292f3ac1cedfb58de3f1072373e78823c41a28893340aa198dfb7ef

See more details on using hashes here.

File details

Details for the file libsvm_official-3.37.0-cp314-cp314-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for libsvm_official-3.37.0-cp314-cp314-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 d0ba1ee4b21090580bba3c3d01c03856e481ae093278bb437d19a9786dd2d923
MD5 739fbe40eea7afc49d5b10b845075b74
BLAKE2b-256 a81c1d682a13f3c79e41364990e8e865c640c81ebee6af19e4645dc41ca4e960

See more details on using hashes here.

File details

Details for the file libsvm_official-3.37.0-cp313-cp313-win_arm64.whl.

File metadata

File hashes

Hashes for libsvm_official-3.37.0-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 f28452c42a8961e72212baa59657729699a6bae23685040fbdb6ba0780a2d4d1
MD5 bdb0142c548fcb4e548e8f6aec5a54ec
BLAKE2b-256 d607d656049597d0df368166cef1eb387c59850da1b2966b5a03efdc263f006b

See more details on using hashes here.

File details

Details for the file libsvm_official-3.37.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for libsvm_official-3.37.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 6069ffc54239baf4495edaa54fc06e832522473fd096dcd8ba4269752c58a4b2
MD5 d11429ffdfbae7683d13e023807dcb8d
BLAKE2b-256 f37c6036b99359faa4c675b5e8c540c498607bfbc569292b0061db32facf5478

See more details on using hashes here.

File details

Details for the file libsvm_official-3.37.0-cp313-cp313-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for libsvm_official-3.37.0-cp313-cp313-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 a289464f4e5385f0669eed0c57536bad0ee826702b322076574fea7836d82432
MD5 b7161c9d49229a0b7d4274c3aedd3f99
BLAKE2b-256 cbf6e00f8d83b67e1f053d881dae4b72a590b122f000f5f2b981dfabfb9f4183

See more details on using hashes here.

File details

Details for the file libsvm_official-3.37.0-cp313-cp313-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for libsvm_official-3.37.0-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 47225d96d2d96a032f9dd7ec37d7f4d7887e98a5a9943eefa3693cb046612101
MD5 584e779aeec798420b86ae6548d240ef
BLAKE2b-256 71468c153d5762dd5cb32f952d9bae65502e80e4ea411c556ce6a5c71f730a6a

See more details on using hashes here.

File details

Details for the file libsvm_official-3.37.0-cp312-cp312-win_arm64.whl.

File metadata

File hashes

Hashes for libsvm_official-3.37.0-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 c45fb6250d2ef032b2baeba5e97292e25aa67abac3a5ac91f9d0d53b7eea505d
MD5 5cf6b2837c51676bf16d9fc521e48294
BLAKE2b-256 64586b8432229bb08b833aeda66c84e39019bb4907ab639a2c9877c766c983d7

See more details on using hashes here.

File details

Details for the file libsvm_official-3.37.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for libsvm_official-3.37.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e57f2680a762dc35c4c3d5c94499b4059adf4c1d2245adde8c13363d63d9ea75
MD5 48d068368ff9702bdfdd0e0f5af9dd68
BLAKE2b-256 400ac71bc3388fc74961f96c955c31425421ba7f6c5b62f8d75c2e7475c1647d

See more details on using hashes here.

File details

Details for the file libsvm_official-3.37.0-cp312-cp312-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for libsvm_official-3.37.0-cp312-cp312-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 33bcb0de5bc489f591eb5891ee3d606d2d4f1f2b070e8a1e585b5abb6b5d0004
MD5 9f7ed1b792bdb04916a68d0293d88370
BLAKE2b-256 aa94e13522a9025d7f317e37782b51611f8fd4a6f88b6b0742e9c9b63c7b79b5

See more details on using hashes here.

File details

Details for the file libsvm_official-3.37.0-cp312-cp312-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for libsvm_official-3.37.0-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 bbcc3e7884af7552d5c17ebf1a92d8c66b929c8e63ab0383dc4b8082eb9d93dc
MD5 c7c07410994c2db2e678e8af7e8536da
BLAKE2b-256 690c838a933289703ebf997e379bbdc285cc40e46a1a87718555a9b67b2fd48a

See more details on using hashes here.

File details

Details for the file libsvm_official-3.37.0-cp311-cp311-win_arm64.whl.

File metadata

File hashes

Hashes for libsvm_official-3.37.0-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 5bce3c1c28d10749cfbad41ac7566eab036758fc79a7a22557a002e37a40558a
MD5 c86231d7eaeb38cf903f67366ee204d7
BLAKE2b-256 947927a333dc7cf6453f17f92a4a090b885d581735348c84ae8a676faff7a4e0

See more details on using hashes here.

File details

Details for the file libsvm_official-3.37.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for libsvm_official-3.37.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 cc796738792877b27e79e4f18f39263a1f5d48a14ff9fe203491ceafbbc94f5d
MD5 03b406e6e96a17568af90abf3e75d641
BLAKE2b-256 59209bf4e3d9f0449f2d0a85e28b8c17259e04b2724e6a226ad8adc398c082cf

See more details on using hashes here.

File details

Details for the file libsvm_official-3.37.0-cp311-cp311-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for libsvm_official-3.37.0-cp311-cp311-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 bd50052d8efba22df0b66abba5450e794da0671614bd86300cb100a1b41e7317
MD5 37ee2bff7a01c84dc3ce1384065e8612
BLAKE2b-256 e179718b4aea9074435b407c66e73f9408df79dcf04f74df083ca48f9b5a9951

See more details on using hashes here.

File details

Details for the file libsvm_official-3.37.0-cp311-cp311-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for libsvm_official-3.37.0-cp311-cp311-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 c95b0b765fba9d3264d05ef237b3f307e06bdb6b19a452499fe927ca837a5456
MD5 8cf57e1b7a144d0e89d8257cacd4129c
BLAKE2b-256 cca47fb54d26ff4816835bbcd3175250265bf973ca9cd7501a4779f1ff6ecd3f

See more details on using hashes here.

File details

Details for the file libsvm_official-3.37.0-cp310-cp310-win_arm64.whl.

File metadata

File hashes

Hashes for libsvm_official-3.37.0-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 0f2408c0fbd4cb7d4a4ca7218397357eadd21abf76a207c65d59dc3846768d10
MD5 d59baf727c69ca68d2be0a9faff41d4b
BLAKE2b-256 7f460eac0471f7575311fae317e1e71380e8648779ab6a83d3f7b9058ef026cc

See more details on using hashes here.

File details

Details for the file libsvm_official-3.37.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for libsvm_official-3.37.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 6bbd10455807d87be7f2e4e4349455681631657603a1d1527a44c0a2cd3239e6
MD5 09d87617cffff61a6b55ddf90caec638
BLAKE2b-256 1eddec36bbdf94a5edb67290ea4dde3fb9b6cdea864a2148191a480a34029257

See more details on using hashes here.

File details

Details for the file libsvm_official-3.37.0-cp310-cp310-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for libsvm_official-3.37.0-cp310-cp310-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 ad6b1a11fd243ec84afb66f3adfc1deef124f68151932a62ec71f9d301432176
MD5 9dcd20d2bd2b7e0c303aa0dfebc1cbac
BLAKE2b-256 edb1ba53605366cadafbe10ae58750dec30a0692357f24e866079313bfc30230

See more details on using hashes here.

File details

Details for the file libsvm_official-3.37.0-cp310-cp310-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for libsvm_official-3.37.0-cp310-cp310-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 1f22cfece3ec7b331249f04617f376406538c4fed2e2ebf9fbda4be4eec4b714
MD5 80ff02b618c39dfdb7ae48fa9fb79551
BLAKE2b-256 a7487c53ff764c354fda407f7625d3c8f9f885f0256f98352352f39dc8c9066b

See more details on using hashes here.

File details

Details for the file libsvm_official-3.37.0-cp39-cp39-win_arm64.whl.

File metadata

File hashes

Hashes for libsvm_official-3.37.0-cp39-cp39-win_arm64.whl
Algorithm Hash digest
SHA256 11ce1632c2a970a1ed75917399e4b6e747122b069b46746bb00ba1486f8cce25
MD5 eaf3d2e134a3c354224260bf2af2d90b
BLAKE2b-256 2b8b6a76d59ab529ac0fa478ffa6e5a160726d240b3232077e04774a673632ff

See more details on using hashes here.

File details

Details for the file libsvm_official-3.37.0-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for libsvm_official-3.37.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 060c5e4d92a4a5bb39d4f3c05adc94d7009f43413b7908e8facde35c785e15ca
MD5 01038dba64207a336d64dcfa3b0f4a5f
BLAKE2b-256 b98591a4417c792b96b559e608a9db548ab58824eb2fc866ef824fb861312bd3

See more details on using hashes here.

File details

Details for the file libsvm_official-3.37.0-cp39-cp39-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for libsvm_official-3.37.0-cp39-cp39-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 ad3a7b898555fbdec4774bf6bac17e415d6d7607606395974a902c126dee1ae7
MD5 05fc5f251875d31dcce6dcdb2c9c41de
BLAKE2b-256 904cdc784a1c9b854d21f72390cf23ec7d2e455b6e7447aec60de327ec5f3490

See more details on using hashes here.

File details

Details for the file libsvm_official-3.37.0-cp39-cp39-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for libsvm_official-3.37.0-cp39-cp39-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 b20351cb59322b356b9c9f54fcdf44d8784d8aeb9b995747046de2cf2f859eb4
MD5 15fff45e70ad310704d1a945e5b6b589
BLAKE2b-256 ce2f9295d943affc190ca2e331bf70e20ea111ab29240ed72bb523d558ffa805

See more details on using hashes here.

File details

Details for the file libsvm_official-3.37.0-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for libsvm_official-3.37.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 89f68610b9eaaad6f0c329ab543363baf27e4ac4f5c541fd7443d8f3648f70c1
MD5 92a52911bc7fbb0ab1cc9b57f8f704e5
BLAKE2b-256 bed1cea085ff553e49d58ff83aeda7b4d05fe1bb4924a99cdc90e4c128f6533f

See more details on using hashes here.

File details

Details for the file libsvm_official-3.37.0-cp38-cp38-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for libsvm_official-3.37.0-cp38-cp38-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 2027bf31432333a156bbd613a8e5c2a03df222d44787a95dbe01fdaf7461ef2e
MD5 c6e48bd10c1d00de33ec9011cc4648c8
BLAKE2b-256 13e4fed11f96deea2d05ac4a040210aa6eddfa82afcdc65a4748e4ff6af0a389

See more details on using hashes here.

File details

Details for the file libsvm_official-3.37.0-cp38-cp38-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for libsvm_official-3.37.0-cp38-cp38-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 544640f7964cac9e45016a2498564036b6920c48512b090d48d25811367b0597
MD5 809c2656acfe1f469a4515c4db9a4aaa
BLAKE2b-256 b969b35c7e8b88947592b14269a05eb9f0704c59aa622cf15d48417302c64d21

See more details on using hashes here.

Supported by

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