def testOneDim(self): random.seed(42) x = np.random.rand(1000) y = 2 * x + 3 regressor = learn.TensorFlowLinearRegressor() regressor.fit(x, y) score = mean_squared_error(y, regressor.predict(x)) self.assertLess(score, 1.0, "Failed with score = {0}".format(score))
def testBoston(self): random.seed(42) boston = datasets.load_boston() regressor = learn.TensorFlowLinearRegressor(batch_size=boston.data.shape[0], steps=500, learning_rate=0.001) regressor.fit(boston.data, boston.target) score = mean_squared_error(boston.target, regressor.predict(boston.data)) self.assertLess(score, 150, "Failed with score = {0}".format(score))
def testOneDim(self): random.seed(42) x = np.random.rand(1000) y = 2 * x + 3 feature_columns = learn.infer_real_valued_columns_from_input(x) regressor = learn.TensorFlowLinearRegressor(feature_columns=feature_columns) regressor.fit(x, y) score = mean_squared_error(y, regressor.predict(x)) self.assertLess(score, 1.0, "Failed with score = {0}".format(score))
def testMultiRegression(self): random.seed(42) rng = np.random.RandomState(1) X = np.sort(200 * rng.rand(100, 1) - 100, axis=0) y = np.array([np.pi * np.sin(X).ravel(), np.pi * np.cos(X).ravel()]).T regressor = learn.TensorFlowLinearRegressor(learning_rate=0.01) regressor.fit(X, y) score = mean_squared_error(regressor.predict(X), y) self.assertLess(score, 10, "Failed with score = {0}".format(score))
def testMultiRegression(self): random.seed(42) rng = np.random.RandomState(1) x = np.sort(200 * rng.rand(100, 1) - 100, axis=0) y = np.array([np.pi * np.sin(x).ravel(), np.pi * np.cos(x).ravel()]).T regressor = learn.TensorFlowLinearRegressor( feature_columns=learn.infer_real_valued_columns_from_input(x), learning_rate=0.01, target_dimension=2) regressor.fit(x, y) score = mean_squared_error(regressor.predict(x), y) self.assertLess(score, 10, "Failed with score = {0}".format(score))
def testLinearRegression(self): rng = np.random.RandomState(67) n = 1000 n_weights = 10 bias = 2 x = rng.uniform(-1, 1, (n, n_weights)) weights = 10 * rng.randn(n_weights) y = np.dot(x, weights) y += rng.randn(len(x)) * 0.05 + rng.normal(bias, 0.01) regressor = learn.TensorFlowLinearRegressor(optimizer="SGD") regressor.fit(x, y, steps=200) # Have to flatten weights since they come in (x, 1) shape. self.assertAllClose(weights, regressor.weights_.flatten(), rtol=0.01)
def testLinearRegression(self): rng = np.random.RandomState(67) N = 1000 n_weights = 10 self.bias = 2 self.X = rng.uniform(-1, 1, (N, n_weights)) self.weights = 10 * rng.randn(n_weights) self.y = np.dot(self.X, self.weights) self.y += rng.randn(len(self.X)) * 0.05 + rng.normal(self.bias, 0.01) regressor = learn.TensorFlowLinearRegressor(optimizer="SGD") regressor.fit(self.X, self.y) # Have to flatten weights since they come in (X, 1) shape self.assertAllClose(self.weights, regressor.weights_.flatten(), rtol=0.01) assert abs(self.bias - regressor.bias_) < 0.1