Fit convex approximations to samples of functions
Project description
CvxFit
CvxFit is a package which provides classes for fitting convex functions to given data.
Usage
Typical usage looks like this:
#!/usr/bin/env python
from cvxfit import CvxFit
import scipy as sp
# Generate data.
N = 1000
n = 3
def f_actual(x):
return sp.sum(x*x)
X = sp.randn(N, n)
Y = sp.array([f_actual(pt) for pt in X])
# Initialize object with 10 affine functions
# with regularization 0.001, and maximum
# number of iterations 20.
fit_object = CvxFit(X=X, Y=Y, type='pwl', extra_param=[10, 0.001, 20])
# Perform fit.
fit_object.fit()
# See training error; repeat fit if high.
print 'Training error: ' + str(fit_object.mean_training_error)
# Compare quality of fit at a random point.
pt = sp.randn(1, n)
print 'Actual value: ' + str(f_actual(pt))
print 'Approximate value: ' + str(fit_object.evaluate(pt)[0])
Authors
This package was originally written and tested by Mainak Chowdhury, Alon Kipnis and Milind Rao.
Acknowledgements
This package came out of a course project for EE364b at Stanford University, Spring 2014, taught by Prof. Stephen Boyd. We would like to thank all members of the awesome teaching staff for their feedback and suggestions.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
cvxfit-0.1.10.tar.gz
(7.4 kB
view details)
Built Distribution
File details
Details for the file cvxfit-0.1.10.tar.gz
.
File metadata
- Download URL: cvxfit-0.1.10.tar.gz
- Upload date:
- Size: 7.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7206b1563caa804fba2d4ca0a3d59b67ad99f31ecfa711d10b26b39e7fbd90b8 |
|
MD5 | ee4ee86de21d79ddd93c971eed33bdf7 |
|
BLAKE2b-256 | f8a8253b1a64d582459f1f36072014c21a71340b3da6977c4aace14590cce1c9 |
File details
Details for the file cvxfit-0.1.10-py3-none-any.whl
.
File metadata
- Download URL: cvxfit-0.1.10-py3-none-any.whl
- Upload date:
- Size: 7.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 600935ce155f536a21744b409fa7145af036a1b2073be1d53a59283fa47bc47d |
|
MD5 | 90f527099410899ef4cf13f2c382908b |
|
BLAKE2b-256 | fe97a8d3dc22796ec13a7b1259ce152d3a5096970bd173cd4d95a8a70836eade |