def skip_cosine_fit(self): x = np.cos(np.linspace(0, np.pi * 2, 99)) noise = (np.random.random((99, )) - .5) for num_splines in range(5, 20, 2): splines = sb.spline_base1d(99, num_splines, spline_order=5) model = linear_model.BayesianRidge() model.fit(splines, x + noise) y = model.predict(splines) self.assertTrue(np.corrcoef(x + noise, y)[0, 1]**2 > 0.7)
def skip_2Dcosine_fit(self): x = np.cos(np.linspace(0,np.pi*2, 99)) X = np.dot(x[:,np.newaxis],x[:,np.newaxis].T) noise = (np.random.random(X.shape)-.5)*0.1 for num_splines in range(2,20,2): splines = sb.spline_base2d(99,99, num_splines, spline_order = 3) model = linear_model.BayesianRidge() model.fit(splines.T, (X+noise).flat) y = model.predict(splines.T) self.assertTrue( np.corrcoef(X+noise, y.reshape(X.shape))[0,1]**2 > 0.7)
""" A comparison of different methods in linear_model methods. Data comes from a random square matrix. """ from datetime import datetime import numpy as np from scikits.learn import linear_model if __name__ == '__main__': n_iter = 20 time_ridge = np.empty(n_iter) time_ols = np.empty(n_iter) time_lasso = np.empty(n_iter) dimensions = 10 * np.arange(n_iter) n_samples, n_features = 100, 100 X = np.random.randn(n_samples, n_features) y = np.random.randn(n_samples) start = datetime.now() ridge = linear_model.BayesianRidge() ridge.fit(X, y)