作者:解琛
时间:2021 年 2 月 3 日
二、使用 BP 神经网络拟合多输入多输出曲线
列表中的数据是某地区20年公路运量数据,其中属性 人口数量、机动车数量 和 公路面积 作为输入,属性 公路客运量 和 公路货运量 作为输出。
请用神经网络拟合此多输入多输出曲线。
| 年份 | 人口数量/万人 | 机动车数量/万辆 | 公路面积/万平米 | 公路客运量/万人 | 公路货运量/万吨 |
|---|---|---|---|---|---|
| 1990 | 20.55 | 0.6 | 0.09 | 5126 | 1237 |
| 1991 | 22.44 | 0.75 | 0.11 | 6217 | 1379 |
| 1992 | 25.37 | 0.85 | 0.11 | 7730 | 1385 |
| 1993 | 27.13 | 0.9 | 0.14 | 9145 | 1399 |
| 1994 | 29.45 | 1.05 | 0.2 | 10460 | 1663 |
| 1995 | 30.1 | 1.35 | 0.23 | 11387 | 1714 |
| 1996 | 30.96 | 1.45 | 0.23 | 12353 | 1834 |
| 1997 | 34.06 | 1.6 | 0.32 | 15750 | 4322 |
| 1998 | 36.42 | 1.7 | 0.32 | 18304 | 8132 |
| 1999 | 38.09 | 1.85 | 0.34 | 19836 | 8936 |
| 2000 | 39.13 | 2.15 | 0.36 | 21024 | 11099 |
| 2001 | 39.99 | 2.2 | 0.36 | 19490 | 11203 |
| 2002 | 41.93 | 2.25 | 0.38 | 20433 | 10524 |
| 2003 | 44.59 | 2.35 | 0.49 | 22598 | 11115 |
| 2004 | 47.3 | 2.5 | 0.56 | 25107 | 13320 |
| 2005 | 52.89 | 2.6 | 0.59 | 33442 | 16762 |
| 2006 | 55.73 | 2.7 | 0.59 | 36836 | 18673 |
| 2007 | 56.76 | 2.85 | 0.67 | 40548 | 20724 |
| 2008 | 59.17 | 2.95 | 0.69 | 42927 | 20803 |
| 2009 | 60.63 | 3.1 | 0.79 | 43462 | 21804 |
预测结果如下。

实现的代码如下。
#!/usr/bin/env python
# coding=utf-8
# 作者:解琛;
# 功能:神经网络进行多输入多输出的拟合;
# 时间:2020 年 2 月 3 日;
# 备注:无。
import numpy as np
import matplotlib.pyplot as plt
def getSrcData():
'''获取原始数据;'''
# 初始化的输入数据;
# 人口数量;
population = [
20.55, 22.44, 25.37, 27.13, 29.45, 30.10, 30.96, 34.06, 36.42, 38.09,
39.13, 39.99, 41.93, 44.59, 47.30, 52.89, 55.73, 56.76, 59.17, 60.63
]
# 机动车数量;
vehicle = [
0.6, 0.75, 0.85, 0.9, 1.05, 1.35, 1.45, 1.6, 1.7, 1.85, 2.15, 2.2, 2.25,
2.35, 2.5, 2.6, 2.7, 2.85, 2.95, 3.1
]
# 公路面积;
roadarea = [
0.09, 0.11, 0.11, 0.14, 0.20, 0.23, 0.23, 0.32, 0.32, 0.34, 0.36, 0.36,
0.38, 0.49, 0.56, 0.59, 0.59, 0.67, 0.69, 0.79
]
# 初始化输出数据;
# 公路客运量;
passengertraffic = [
5126, 6217, 7730, 9145, 10460, 11387, 12353, 15750, 18304, 19836, 21024,
19490, 20433, 22598, 25107, 33442, 36836<

最低0.47元/天 解锁文章
679

被折叠的 条评论
为什么被折叠?



