BP算法鸢尾花分类
网上很多鸢尾花例子,学习其他人后仿写,我在运行其他人的时候会有溢出和错误。
下述代码准确率95%
附鸢尾花数据集链接:https://pan.baidu.com/s/1J3-2INUT19BVZWCUet3X6A
提取码:y07d
如果有什么不对的或者有什么不懂Iamzhubaoliang@yeah.net
工程地址https://git.lug.ustc.edu.cn/Iamzhubaoliang/irissort
import math
import random
import pandas as pd
random.seed(0)
def rand(a,b):
return (b-a)*random.random()+a
def dsigmoid(x):
return x*(1-x)
def sigmoid(gamma):
if gamma < 0:
return 1 - 1/(1 + math.exp(gamma))
else:
return 1/(1 + math.exp(-gamma))
def makematrix(I,J):
m = []
for i in range(I):
m.append([0.0]*J)#一维构造二维
return m
class BP:
''' 三层BP网络'''
def __init__(self,ni,nh,no):
self.ni=ni+1
self.nh