A package for fitting convex functions to data.
Project description
CvxFit is a package which provides classes for fitting convex functions to given data. Typical usage looks like this:
#!/usr/bin/env python from cvxfit import CvxFit import scipy as sp #Generate data N = 100 n = 4 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 5 affine functions fit_object = CvxFit(X=X, Y=Y, type='pwl', k=5) #Perform fit fit_object.fit() #Compare quality of fit at (0.5,0.5,0.5,5) pt = 0.5*sp.ones((1, n)) print 'Actual value: ' + str(f_actual(pt)) print 'Approximate value: ' + str(fit_object.evaluate(pt))
Acknowledgements
This package came out of a course project for EE364b at Stanford University, Spring 2013-14, taught by Prof. Stephen Boyd. We would like to thank all members of the awesome teaching staff for their useful feedback and constructive 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.5.tar.gz
(7.1 kB
view hashes)