【数学建模分类预测实战】用Keras训练DNN神经网络并将模型用于回归预测

本文记录了笔者用Keras框架编写BP神经网络,训练并预测秦皇岛未来煤价数据,共分为三部分:训练、验证和预测。本文编写于2020年5月19日,文中代码全为Python 3代码,并在Jupyter中测试通过。
点击跳转至本文数据集下载链接

献给新手!大家有疑问可以在评论区留言,一起进步~

1、数据读入

数据集下载链接:戳这里
在这里插入图片描述
训练集一共62条,每条包含了9个属性(A~I)和目标值target,我们将用他们来训练模型:根据A-I的值来预测target的值

以下是需要预测的数据,我们将它放置在数据集的64~94行:
(仅有A-I属性的数据,无target值,我们将用训练好的模型来预测其target)
在这里插入图片描述
首先用Pandas读入全部数据——

import pandas as pd 
data = pd.read_csv("C:/Users/LRK/Desktop/0518.csv") 

注意,用Pandas读取的数据会是一个Numpy数组,在这种数据集上非常好用!!

★ 手动划分训练集(train_data)、训练目标(train_targets),他们都是Numpy数组。

train_data = data.loc[0:61, ['A','B','C','D','E','F','G','H','I']]
train_data.shape

# 读取数据集的0~61行、A~I列的数据

Output:(62, 9)

train_targets = data.loc[0:61, ['target']]
train_targets.shape

# 读取数据集的0~61行、target列的数据

Output:(62, 1)

用Pandas读取train_data是这样的,非常美观:
在这里插入图片描述
★ 读取需要预测的数据的A-I特征:

test_data = data.loc[62:92, ['A','B','C','D','E','F','G','H','I']]

在这里插入图片描述

2、数据预处理

在这里,我们采用“数据标准化处理”,即:每个数据减去该列平均值,再除以该列的标准差。这是机器学习中常见的数据处理方式,一定程度上缩小了A~I列不同属性的数据大小范围,方便神经网络进行训练。
(这里不明白的可以参考Andrew Ng的视频课程)

mean = train_data.mean(axis=0)
train_data -= mean
std = train_data.std(axis=0)
train_data /= std

test_data -= mean
test_data /= std

警告:test_data进行预处理的时候,减去的平均值和除以的标准差,都是在训练集上得出的,而非测试集上!!否则会影响准确性。

3、编写模型(深度神经网络)

DNN(深度神经网络),是BP神经网络的变种。

import os
os.environ["CUDA_VISIBLE_DEVICES"] = "1"   # GTX 1050 Ti

from kera
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值