Tensorflow线性回归房价

时间:2018-05-26 08:17:14

标签: tensorflow linear-regression

我正在尝试使用神经网络来解决线性回归问题,但是我的损失是10的力量而不是减少训练。我正在使用房价预测数据集(https://www.kaggle.com/c/house-prices-advanced-regression-techniques),但无法确定哪里出错了。请帮助别人

X_train, X_test, y_train, y_test = train_test_split(df2, y, test_size=0.2)
X_tr=np.array(X_train)
y_tr=np.array(y_train)

X_te=np.array(X_test)
y_te=np.array(y_test)

def get_weights(shape,name): #(no of neurons*no of columns)
    s=tf.truncated_normal(shape)
    w=tf.Variable(s,name=name)
    return w

def get_bias(number,name):
    s=tf.truncated_normal([number])
    b=tf.Variable(s,name=name)
    return b

x=tf.placeholder(tf.float32,name="input")
w=get_weights([34,100],'layer1')
b=get_bias(100,'bias1')

op=tf.matmul(x,w)+b
a=tf.nn.relu(op)

fl=get_weights([100,1],'output')
b2=get_bias(1,'bias2')


op2=tf.matmul(a,fl)+b2


y=tf.placeholder(tf.float32,name='target')
loss=tf.losses.mean_squared_error(y,op2)
optimizer = tf.train.GradientDescentOptimizer(0.1).minimize(loss)

with tf.Session() as sess:
    for i in range(0,1000):

        sess.run(tf.global_variables_initializer())
        _,l=sess.run([optimizer,loss],feed_dict={x:X_tr,y:y_tr})
        print(l)

1 个答案:

答案 0 :(得分:0)

您可以在每个训练步骤中随机初始化变量。只需在循环前调用sess.run(tf.global_variables_initializer())一次。