[神经网络] 二、使用 BP 神经网络拟合多输入多输出曲线

作者:解琛
时间: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

预测结果如下。

output

实现的代码如下。

#!/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, 40548, 42927, 43462
    ]

    # 公路货运量;
    freighttraffic = [
        1237, 
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

解琛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值