# -*- coding: UTF-8 -*- # Filename : 03BPTest.py from numpy import * import operator import BackPropgation import matplotlib.pyplot as plt # 数据集 dataSet, classLabels = BackPropgation.loadDataSet( "testSet2.txt") # 初始化时第1列为全1向量, studentTest.txt dataSet = BackPropgation.normalize(mat(dataSet)) # 绘制数据点 # 重构dataSet数据集 dataMat = mat(ones((shape(dataSet)[0], shape(dataSet)[1]))) dataMat[:, 1] = mat(dataSet)[:, 0] dataMat[:, 2] = mat(dataSet)[:, 1] # 绘制数据集散点图 Untils.drawClassScatter(dataMat, transpose(classLabels), False) # BP神经网络进行数据分类 errRec, WEX, wex = BackPropgation.bpNet(dataSet, classLabels) # 计算和绘制分类线 x, z = BackPropgation.BPClassfier(-3.0, 3.0, WEX, wex) Untils.classfyContour(x, x, z) # 绘制误差曲线
# -*- coding: GBK -*- # Filename :gradDecent.py from numpy import * import operator import Untils import BackPropgation import matplotlib.pyplot as plt # BP神经网络 # 数据集: 列1:截距 1列2:x坐标 列3:y坐标 dataMat,classLabels = BackPropgation.loadDataSet() # 初始化时第1列为全1向量 [m,n] = shape(dataMat) SampIn = mat(BackPropgation.normalize(mat(dataMat)).transpose()) expected = mat(classLabels) # 网络参数 eb = 0.01 # 误差容限 eta = 0.6 # 学习率 mc = 0.8 # 动量因子 maxiter = 1000 # 最大迭代次数 # 构造网络 # 初始化网络 nSampNum = m; # 样本数量 nSampDim = 2; # 样本维度 nHidden = 3; # 隐含层神经元 nOut = 1; # 输出层
# -*- coding: GBK -*- # Filename : 03BPTest.py from numpy import * import operator import Untils import BackPropgation import matplotlib.pyplot as plt # 数据集 dataSet,classLabels = BackPropgation.loadDataSet("testSet2.txt") # 初始化时第1列为全1向量, studentTest.txt dataSet = BackPropgation.normalize(mat(dataSet)) # 绘制数据点 # 重构dataSet数据集 dataMat = mat(ones((shape(dataSet)[0],shape(dataSet)[1]))) dataMat[:,1] = mat(dataSet)[:,0] dataMat[:,2] = mat(dataSet)[:,1] # 绘制数据集散点图 Untils.drawClassScatter(dataMat,transpose(classLabels),False) # BP神经网络进行数据分类 errRec,WEX,wex = BackPropgation.bpNet(dataSet,classLabels) # 计算和绘制分类线 x,z = BackPropgation.BPClassfier(-3.0,3.0,WEX,wex) Untils.classfyContour(x,x,z) # 绘制误差曲线