コード例 #1
0
ファイル: base_test.py プロジェクト: MostafaGazar/tensorflow
 def testBoston(self):
   random.seed(42)
   boston = datasets.load_boston()
   regressor = learn.LinearRegressor(
       feature_columns=learn.infer_real_valued_columns_from_input(boston.data))
   regressor.fit(boston.data, boston.target, max_steps=500)
   score = mean_squared_error(boston.target, regressor.predict(boston.data))
   self.assertLess(score, 150, "Failed with score = {0}".format(score))
コード例 #2
0
ファイル: base_test.py プロジェクト: sweaterr/tensorflow-1
 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))
コード例 #3
0
ファイル: base_test.py プロジェクト: zhaoyu611/tensorflow
 def testBoston(self):
   random.seed(42)
   boston = datasets.load_boston()
   regressor = learn.LinearRegressor(
       feature_columns=learn.infer_real_valued_columns_from_input(boston.data))
   regressor.fit(boston.data, boston.target, max_steps=500)
   score = mean_squared_error(
       boston.target, np.array(list(regressor.predict(boston.data))))
   self.assertLess(score, 150, "Failed with score = {0}".format(score))
コード例 #4
0
def loaddata():
    """
    获取到数据集
    :return:
    """
    boston_data = datasets.load_boston()
    X_train, Y_train = boston_data.data[:, 5], boston_data.target
    # X_train=normaize(X_train)
    n_samples = len(X_train)
    return (X_train, Y_train, n_samples)
コード例 #5
0
def multiple_linear_regression():
    """
    多特征的线性回归模型
    :return:
    """
    boston_data = datasets.load_boston()
    X_train, Y_train = boston_data.data, boston_data.target
    n_samples = len(X_train)

    # 将偏差作为一列特征添加进去
    X_train = np.c_[X_train, np.zeros(shape=(n_samples, 1))]
    n_features = X_train.shape[1]

    X_train = (X_train - np.mean(X_train)) / np.std(X_train)
    Y_train = np.reshape(Y_train, newshape=(n_samples, 1))
    # TODO 暂时不考虑偏差,考虑偏差就是把偏差也当做一个特征值

    X = tf.placeholder(dtype=tf.float32,
                       shape=(n_samples, n_features),
                       name="X")
    Y = tf.placeholder(dtype=tf.float32, shape=(n_samples, 1), name="Y")

    w = tf.Variable(tf.random_normal(shape=(n_features, 1)), name="w")

    Y_that = tf.matmul(X, w)
    loss = tf.reduce_mean(tf.square(Y - Y_that), name="loss")
    optimizer = tf.train.GradientDescentOptimizer(
        0.001, name="optimizer").minimize(loss)

    linear_ops = tf.global_variables_initializer()
    total = []
    with tf.Session() as sess:
        sess.run(linear_ops)
        writer = tf.summary.FileWriter("multiplinear_regression", sess.graph)
        for i in range(1000):
            _, total_loss = sess.run([optimizer, loss],
                                     feed_dict={
                                         X: X_train,
                                         Y: Y_train
                                     })
            total.append(total_loss)
            logger.info("epoll {0} loss {1}".format(i, total_loss / n_samples))
        writer.close()
        w_value = sess.run(w)
        writer.close()

        show_loss(total)
        # 预测
        n = 500
        Y_pred = np.matmul(X_train[n, :], w_value)
        logger.info("pred {0} real {1}".format(Y_pred[0], Y_train[n][0]))
コード例 #6
0
 def testBostonDNN(self):
     random.seed(42)
     boston = datasets.load_boston()
     regressor = learn.TensorFlowDNNRegressor(
         hidden_units=[10, 20, 10], n_classes=0, batch_size=boston.data.shape[0], steps=200, learning_rate=0.001
     )
     regressor.fit(boston.data, boston.target)
     score = mean_squared_error(boston.target, regressor.predict(boston.data))
     self.assertLess(score, 110, "Failed with score = {0}".format(score))
     weights = regressor.weights_
     self.assertEqual(weights[0].shape, (13, 10))
     self.assertEqual(weights[1].shape, (10, 20))
     self.assertEqual(weights[2].shape, (20, 10))
     self.assertEqual(weights[3].shape, (10, 1))
     biases = regressor.bias_
     self.assertEqual(len(biases), 4)
コード例 #7
0
 def testBostonDNN(self):
   random.seed(42)
   boston = datasets.load_boston()
   regressor = learn.TensorFlowDNNRegressor(hidden_units=[10, 20, 10],
                                            n_classes=0,
                                            batch_size=boston.data.shape[0],
                                            steps=200,
                                            learning_rate=0.001)
   regressor.fit(boston.data, boston.target)
   score = mean_squared_error(boston.target, regressor.predict(boston.data))
   self.assertLess(score, 110, "Failed with score = {0}".format(score))
   weights = regressor.weights_
   self.assertEqual(weights[0].shape, (13, 10))
   self.assertEqual(weights[1].shape, (10, 20))
   self.assertEqual(weights[2].shape, (20, 10))
   self.assertEqual(weights[3].shape, (10, 1))
   biases = regressor.bias_
   self.assertEqual(len(biases), 4)
コード例 #8
0
 def testBoston(self):
     boston = datasets.load_boston()
     self.assertTupleEqual(boston.data.shape, (506, 13))
     self.assertTupleEqual(boston.target.shape, (506, ))
コード例 #9
0
 def testBoston(self):
   boston = datasets.load_boston()
   self.assertTupleEqual(boston.data.shape, (506, 13))
   self.assertTupleEqual(boston.target.shape, (506,))