旗开得胜 实验 算法BP神经网络实验
【实验名称】
BP神经网络实验 【实验要求】
掌握BP神经网络模型应用过程,根据模型要求进行数据预处理,建模,评价与应用;
【背景描述】
神经网络:是一种应用类似于大脑神经突触联接的结构进行信息处理的数学模型。BP神经网络是一种按照误差逆向传播算法训练的多层前馈神经网络,是目前应用最广泛的神经网络。 其基本组成单元是感知器神经元 。 【知识准备】
了解BP神经网络模型的使用场景,数据标准。掌握Python/TensorFlow数据处理一般方法。
了解keras神经网络模型搭建,训练以及应用方法 【实验设备】
Windows或Linux操作系统的计算机。部署TensorFlow,Python。本实验提供centos6.8环境。 【实验说明】
采用UCI机器学习库中的wine数据集作为算法数据,把数据集随机划分为训练集和测试
集,分别对模型进行训练和测试。 【实验环境】
Pyrhon3.X,实验在命令行python中进行,或者把代码写在py脚本,由于本次为实验,以学
习模型为主,所以在命令行中逐步执行代码,以便更加清晰地了解整个建模流程。 【实验步骤】
第一步:启动python:
1
读万卷书 行万里路
旗开得胜 命令行中键入python。
第二步:导入用到的包,并读取数据: (1).导入所需第三方包 import pandas as pd import numpy as np
from keras.models import Sequential from keras.layers import Dense import keras
(2).导入数据源,数据源地址:/opt/algorithm/BPNet/wine.txt
df_wine = pd.read_csv(\(3).查看数据 df_wine.head()
1
读万卷书 行万里路
旗开得胜 第三步:数据预处理 (1).划分60%数据 p = 0.6
cut = int(np.ceil(len(df_wine) * p)) (2).划分数据集
df_wine_train = df_wine.iloc[:cut] df_wine_test = df_wine.iloc[cut:]
(3).类别标识编码(深度学习常用手段,类别1 = (1,0),类别2 = (0,1),类别3 = (0,0)) label_train = pd.DataFrame(df_wine_train[0])
label_train[\label_train[\label_train[\(4).数据标准化,获取每列均值,标准差 avg_col = df_wine_train.mean() td_col = df_wine_train.std() (5).标准化结果
df_train_norm = (df_wine_train - avg_col) / td_col (6).整理数据
df_train_norm=df_train_norm.drop([0], axis=1).join(label_train[[\(7).构建神经网络需要的数据结构 df_train_net = np.array(df_train_norm) train_data_x = df_train_net[:, 0:13] train_data_y = df_train_net[:, 13:]
1
读万卷书 行万里路