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!')
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