1. 程式人生 > >【Tensorflow】Python實現神經網路迴歸

【Tensorflow】Python實現神經網路迴歸

環境

macOS,python3.6,tensorflow1.1.0

迴歸問題

年份 事故起數 死亡人數 受傷人數 直接財產損失(萬元)
2003 80 3 50 11
2004 90 8 70 12.5
2005 180 20 120 20
2006 140 16 90 18
2007 120 5 80 15

說明:利用前四年的資料建立迴歸模型,並對第五年進行預測。

實現程式碼

import numpy as np
import tensorflow as tf

x = [[80
,3,50],[90,8,70],[180,20,120],[140,16,90]] y = [[11],[12.5],[20],[18]] # y = [11,12.5,20,18] x_pred = [[120,5,85]] tf_x = tf.placeholder(tf.float32, [None,3]) # input x tf_y = tf.placeholder(tf.float32, [None,1]) # input y # neural network layers l1 = tf.layers.dense(tf_x, 20, tf.nn.relu) # hidden layer
output = tf.layers.dense(l1, 1) # output layer loss = tf.losses.mean_squared_error(tf_y, output) # compute cost optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.1) train_op = optimizer.minimize(loss) sess = tf.Session() # control training and others
sess.run(tf.global_variables_initializer()) # initialize var in graph for step in range(150): # train and net output _, l, pred = sess.run([train_op, loss, output], {tf_x: x, tf_y: y}) if step % 10 == 0: print('loss is: ' + str(l)) # print('prediction is:' + str(pred)) output_pred = sess.run(output,{tf_x:x_pred}) print('input is:' + str(x_pred[0][:])) print('output is:' + str(output_pred[0][0]))

執行結果

這裡寫圖片描述