Skip to main content

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


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)

Uploaded Source

Built Distribution

cvxfit-0.1.10-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

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

Hashes for cvxfit-0.1.10.tar.gz
Algorithm Hash digest
SHA256 7206b1563caa804fba2d4ca0a3d59b67ad99f31ecfa711d10b26b39e7fbd90b8
MD5 ee4ee86de21d79ddd93c971eed33bdf7
BLAKE2b-256 f8a8253b1a64d582459f1f36072014c21a71340b3da6977c4aace14590cce1c9

See more details on using hashes here.

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

Hashes for cvxfit-0.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 600935ce155f536a21744b409fa7145af036a1b2073be1d53a59283fa47bc47d
MD5 90f527099410899ef4cf13f2c382908b
BLAKE2b-256 fe97a8d3dc22796ec13a7b1259ce152d3a5096970bd173cd4d95a8a70836eade

See more details on using hashes here.

Supported by

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