0 purchases
PyOnlineSVR 0.0.4
PyOnlineSVR
Python-Wrapper for Francesco Parrella's OnlineSVR [PAR2007] C++ implementation with scikit-learn-compatible interfaces.
You can find more information about the OnlineSVR here and the original source code here.
Installation
Dependencies
PyOnlineSVR requires the following dependencies:
python (>=3.7)
numpy (>=1.13.3)
scipy (>=0.19.1)
joblib (>=0.11)
scikit-learn (>=0.23.0)
Binaries
PyOnlineSVR is published to PyPi and can be installed using pip.
Prerequisites
python (>=3.7)
pip (>=19.0 to support manylinux2010)
Steps
You can use pip to install PyOnlineSVR using:
pip install PyOnlineSVR
From Source (Linux)
If you are installing PyOnlineSVR from source, you will need Python 3.7 or later and a modern C++ compiler.
We highly recommend using an Anaconda environment for building this project.
In the following, we explain the steps to build PyOnlineSVR using Anaconda and git.
Prepare environment
Create a new Anaconda environment and install the required dependencies.
This includes python, SWIG to generate the C++ wrapper, and the C and C++ compiler toolchains.
conda create -n pyonlinesvr python swig gcc_linux-64 gxx_linux-64
conda activate pyonlinesvr
Install dependencies
conda install -n pyonlinesvr numpy scipy scikit-learn
Get the source code
git clone https://github.com/CodeLionX/pyonlinesvr.git
cd pyonlinesvr
Install PyOnlineSVR
python setup.py install
Note that if your are using Anaconda, you may experience an error caused by the linker:
build/temp.linux-x86_64-3.7/torch/csrc/stub.o: file not recognized: file format not recognized
collect2: error: ld returned 1 exit status
error: command 'g++' failed with exit status 1
This is caused by the linker ld from the Conda environment shadowing the system ld.
You should use a newer version of Python in your environment that fixes this issue.
The recommended Python versions are (3.6.10+,) 3.7.6+ and 3.8.1+.
For further details see the issue.
Usage
>>> import numpy as np
>>> from pyonlinesvr import OnlineSVR
>>> X = np.array([[0, 0], [2, 2]])
>>> y = np.array([0.5, 2.5])
>>> regr = OnlineSVR()
>>> regr.fit(X[:1], y[:1])
OnlineSVR()
>>> regr.predict([[1, 1]])
array([ 0.4])
>>> regr.partial_fit(X[1:], y[1:])
OnlineSVR()
>>> regr.predict([[1, 1]])
array([ 1.5])
License
PyOnlineSVR is free software under the terms of the GNU General Public License, as found in the LICENSE file.
References
[PAR2007]: Parrelly, Francesco (2007). "Online Support Vector Machines for Regression." Master thesis. University of Genoa, Italy. PDF
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.