TF之LSTM:利用LSTM算法对Boston(波士顿房价)数据集【13+1,506】进行回归预测(房价预测)

举报
一个处女座的程序猿 发表于 2021/03/31 01:08:45 2021/03/31
【摘要】 TF之LSTM:利用LSTM算法对Boston(波士顿房价)数据集【13+1,506】进行回归预测(房价预测) 相关文章DL之LSTM:利用LSTM算法对Boston(波士顿房价)数据集【13+1,506】进行回归预测(房价预测)   目录 输出结果 Tensorboard可视化 设计思路 核心代码     输出结果 波士顿房价数据集前10行数据 b...

TF之LSTM:利用LSTM算法对Boston(波士顿房价)数据集【13+1,506】进行回归预测(房价预测)

相关文章
DL之LSTM:利用LSTM算法对Boston(波士顿房价)数据集【13+1,506】进行回归预测(房价预测)

 

目录

输出结果

Tensorboard可视化

设计思路

核心代码


 

 

输出结果

波士顿房价数据集前10行数据


  
  1. boston.data: (506, 13)
  2. [[6.3200e-03 1.8000e+01 2.3100e+00 0.0000e+00 5.3800e-01 6.5750e+00
  3. 6.5200e+01 4.0900e+00 1.0000e+00 2.9600e+02 1.5300e+01 3.9690e+02
  4. 4.9800e+00]
  5. [2.7310e-02 0.0000e+00 7.0700e+00 0.0000e+00 4.6900e-01 6.4210e+00
  6. 7.8900e+01 4.9671e+00 2.0000e+00 2.4200e+02 1.7800e+01 3.9690e+02
  7. 9.1400e+00]
  8. [2.7290e-02 0.0000e+00 7.0700e+00 0.0000e+00 4.6900e-01 7.1850e+00
  9. 6.1100e+01 4.9671e+00 2.0000e+00 2.4200e+02 1.7800e+01 3.9283e+02
  10. 4.0300e+00]
  11. [3.2370e-02 0.0000e+00 2.1800e+00 0.0000e+00 4.5800e-01 6.9980e+00
  12. 4.5800e+01 6.0622e+00 3.0000e+00 2.2200e+02 1.8700e+01 3.9463e+02
  13. 2.9400e+00]
  14. [6.9050e-02 0.0000e+00 2.1800e+00 0.0000e+00 4.5800e-01 7.1470e+00
  15. 5.4200e+01 6.0622e+00 3.0000e+00 2.2200e+02 1.8700e+01 3.9690e+02
  16. 5.3300e+00]
  17. [2.9850e-02 0.0000e+00 2.1800e+00 0.0000e+00 4.5800e-01 6.4300e+00
  18. 5.8700e+01 6.0622e+00 3.0000e+00 2.2200e+02 1.8700e+01 3.9412e+02
  19. 5.2100e+00]
  20. [8.8290e-02 1.2500e+01 7.8700e+00 0.0000e+00 5.2400e-01 6.0120e+00
  21. 6.6600e+01 5.5605e+00 5.0000e+00 3.1100e+02 1.5200e+01 3.9560e+02
  22. 1.2430e+01]
  23. [1.4455e-01 1.2500e+01 7.8700e+00 0.0000e+00 5.2400e-01 6.1720e+00
  24. 9.6100e+01 5.9505e+00 5.0000e+00 3.1100e+02 1.5200e+01 3.9690e+02
  25. 1.9150e+01]
  26. [2.1124e-01 1.2500e+01 7.8700e+00 0.0000e+00 5.2400e-01 5.6310e+00
  27. 1.0000e+02 6.0821e+00 5.0000e+00 3.1100e+02 1.5200e+01 3.8663e+02
  28. 2.9930e+01]
  29. [1.7004e-01 1.2500e+01 7.8700e+00 0.0000e+00 5.2400e-01 6.0040e+00
  30. 8.5900e+01 6.5921e+00 5.0000e+00 3.1100e+02 1.5200e+01 3.8671e+02
  31. 1.7100e+01]]
  32. boston.target: (506,)
  33. [24. 21.6 34.7 33.4 36.2 28.7 22.9 27.1 16.5 18.9]


 

 

Tensorboard可视化

 

 

设计思路

 

 

 

核心代码


  
  1. def add_input_layer(self,):
  2. l_in_x = tf.reshape(self.xs, [-1, self.input_size], name='2_2D')
  3. Ws_in = self._weight_variable([self.input_size, self.cell_size])
  4. bs_in = self._bias_variable([self.cell_size,])
  5. # l_in_y = (batch * n_steps, cell_size)
  6. with tf.name_scope('Wx_plus_b'):
  7. l_in_y = tf.matmul(l_in_x, Ws_in) + bs_in
  8. self.l_in_y = tf.reshape(l_in_y, [-1, self.n_steps, self.cell_size], name='2_3D')
  9. def add_cell(self):
  10. lstm_cell = tf.nn.rnn_cell.BasicLSTMCell(self.cell_size, forget_bias=1.0, state_is_tuple=True)
  11. with tf.name_scope('initial_state'):
  12. self.cell_init_state = lstm_cell.zero_state(self.batch_size, dtype=tf.float32)
  13. self.cell_outputs, self.cell_final_state = tf.nn.dynamic_rnn(
  14. lstm_cell, self.l_in_y, initial_state=self.cell_init_state, time_major=False)
  15. def add_output_layer(self):
  16. # shape = (batch * steps, cell_size)
  17. l_out_x = tf.reshape(self.cell_outputs, [-1, self.cell_size], name='2_2D')
  18. Ws_out = self._weight_variable([self.cell_size, self.output_size])
  19. bs_out = self._bias_variable([self.output_size, ])
  20. # shape = (batch * steps, output_size)
  21. with tf.name_scope('Wx_plus_b'):
  22. self.pred = tf.matmul(l_out_x, Ws_out) + bs_out
  23. def compute_cost(self):
  24. losses = tf.contrib.legacy_seq2seq.sequence_loss_by_example(
  25. [tf.reshape(self.pred, [-1], name='reshape_pred')],
  26. [tf.reshape(self.ys, [-1], name='reshape_target')],
  27. [tf.ones([self.batch_size * self.n_steps], dtype=tf.float32)],
  28. average_across_timesteps=True,
  29. softmax_loss_function=self.ms_error,
  30. name='losses'
  31. )
  32. with tf.name_scope('average_cost'):
  33. self.cost = tf.div(
  34. tf.reduce_sum(losses, name='losses_sum'),
  35. self.batch_size,
  36. name='average_cost')
  37. tf.summary.scalar('cost', self.cost)

1、训练数据集的(递增式)索引批次段输出记录


  
  1. 训练数据集的(递增式)索引批次段: 0 300
  2. 训练数据集的(递增式)索引批次段: 10 310
  3. 训练数据集的(递增式)索引批次段: 20 320
  4. 训练数据集的(递增式)索引批次段: 30 330
  5. 训练数据集的(递增式)索引批次段: 40 340
  6. 训练数据集的(递增式)索引批次段: 50 350
  7. 训练数据集的(递增式)索引批次段: 60 360
  8. 训练数据集的(递增式)索引批次段: 70 370
  9. 训练数据集的(递增式)索引批次段: 80 380
  10. 训练数据集的(递增式)索引批次段: 90 390
  11. 训练数据集的(递增式)索引批次段: 100 400
  12. 训练数据集的(递增式)索引批次段: 110 410
  13. 训练数据集的(递增式)索引批次段: 120 420
  14. 训练数据集的(递增式)索引批次段: 130 430
  15. 训练数据集的(递增式)索引批次段: 140 440
  16. 训练数据集的(递增式)索引批次段: 150 450
  17. 训练数据集的(递增式)索引批次段: 160 460
  18. 训练数据集的(递增式)索引批次段: 170 470
  19. 训练数据集的(递增式)索引批次段: 180 480
  20. 训练数据集的(递增式)索引批次段: 190 490
  21. 训练数据集的(递增式)索引批次段: 200 500
  22. 0 cost: 6.6038
  23. 训练数据集的(递增式)索引批次段: 0 300
  24. 训练数据集的(递增式)索引批次段: 10 310
  25. 训练数据集的(递增式)索引批次段: 20 320
  26. 训练数据集的(递增式)索引批次段: 30 330
  27. 训练数据集的(递增式)索引批次段: 40 340
  28. 训练数据集的(递增式)索引批次段: 50 350
  29. 训练数据集的(递增式)索引批次段: 60 360
  30. 训练数据集的(递增式)索引批次段: 70 370
  31. 训练数据集的(递增式)索引批次段: 80 380
  32. 训练数据集的(递增式)索引批次段: 90 390
  33. 训练数据集的(递增式)索引批次段: 100 400
  34. 训练数据集的(递增式)索引批次段: 110 410
  35. 训练数据集的(递增式)索引批次段: 120 420
  36. 训练数据集的(递增式)索引批次段: 130 430
  37. 训练数据集的(递增式)索引批次段: 140 440
  38. 训练数据集的(递增式)索引批次段: 150 450
  39. 训练数据集的(递增式)索引批次段: 160 460
  40. 训练数据集的(递增式)索引批次段: 170 470
  41. 训练数据集的(递增式)索引批次段: 180 480
  42. 训练数据集的(递增式)索引批次段: 190 490
  43. 1 cost: 3.8826
  44. ……
  45. 2 cost: 2.7715
  46. ……
  47. ……
  48. 8 cost: 1.0885
  49. ……
  50. ……
  51. ……
  52. 55 cost: 0.1853
  53. ……
  54. ……
  55. ……
  56. ……
  57. 198 cost: 0.058
  58. 训练数据集的(递增式)索引批次段: 0 300
  59. 训练数据集的(递增式)索引批次段: 10 310
  60. 训练数据集的(递增式)索引批次段: 20 320
  61. 训练数据集的(递增式)索引批次段: 30 330
  62. 训练数据集的(递增式)索引批次段: 40 340
  63. 训练数据集的(递增式)索引批次段: 50 350
  64. 训练数据集的(递增式)索引批次段: 60 360
  65. 训练数据集的(递增式)索引批次段: 70 370
  66. 训练数据集的(递增式)索引批次段: 80 380
  67. 训练数据集的(递增式)索引批次段: 90 390
  68. 训练数据集的(递增式)索引批次段: 100 400
  69. 训练数据集的(递增式)索引批次段: 110 410
  70. 训练数据集的(递增式)索引批次段: 120 420
  71. 训练数据集的(递增式)索引批次段: 130 430
  72. 训练数据集的(递增式)索引批次段: 140 440
  73. 训练数据集的(递增式)索引批次段: 150 450
  74. 训练数据集的(递增式)索引批次段: 160 460
  75. 训练数据集的(递增式)索引批次段: 170 470
  76. 训练数据集的(递增式)索引批次段: 180 480
  77. 训练数据集的(递增式)索引批次段: 190 490
  78. 199 cost: 0.0424

 

 

 

文章来源: yunyaniu.blog.csdn.net,作者:一个处女座的程序猿,版权归原作者所有,如需转载,请联系作者。

原文链接:yunyaniu.blog.csdn.net/article/details/88640881

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。