Ejemplo n.º 1
0
 def test_exercise_4(self):
     try:
         initial_w = np.array([[15], [-35.3]])
         train_X_norm = standardize(self.train_X)
         train_y_norm = standardize(self.train_y)
         train_X_1 = add_feature_ones(train_X_norm)
         learning_rate = 0.8
         iterations = 20000
         init = time.time()
         w, weights_history, cost_history = batch_gradient_descent(
             train_X_1,  # noqa
             train_y_norm,  # noqa
             initial_w,  # noqa
             learning_rate,  # noqa
             iterations)  # noqa
         init = time.time() - init
         self.assertTrue(cost_history[-1] < cost_history[0], score=1 / 5)
         self.assertTrue(type(w) == np.ndarray, score=1 / 5)
         self.assertTrue(len(weights_history) == len(cost_history),
                         score=1 / 5)  # noqa
         self.assertTrue(init < 2.5, score=1 / 5)
         test_X_norm = standardize(self.test_X)
         test_X_1 = add_feature_ones(test_X_norm)
         prediction = linear_regression_prediction(test_X_1, w)
         prediction = (prediction * np.std(self.train_y)) + np.mean(
             self.train_y)  # noqa
         r_2 = r_squared(self.test_y, prediction)
         self.assertTrue(0.3 < r_2, score=1 / 5)
     except NotImplementedError:
         self.fail('Exercício 4) Falta fazer!')
Ejemplo n.º 2
0
 def setUpClass(cls):
     X, y = get_housing_prices_data(N=250, verbose=False)
     train_X_norm = standardize(X)
     train_y_norm = standardize(y)
     cls.train_y_norm = train_y_norm.astype("float64")
     cls.train_X_1 = add_feature_ones(train_X_norm)
     cls.total_score = 0