神经网络线性分类器
编写代码并将其线性分类过程封装成PYTHON的一个模块,调用代码如下:
#!/usr/bin/env python #-*- coding: utf-8 -*- #email:myhaspl@qq.com #author:麦好 #2013-07-25 #线性神经网络分类 import mplannliner as nplann traindata1=[[[9,25],-1],[[5,8],-1],[[15,31],-1],[[35,62],-1],[[19,40],-1],[[28,65],1],[[20,59],1],[[9,41],1],[[12,60],1],[[2,37],1]] myann=nplann.Mplannliner() #样本初始化 myann.samples_init(traindata1) #学习率初始化 myann.a_init(0.1) #搜索时间常数初始化 myann.r_init(50) #最大训练次数 myann.maxtry_init(500) #期望最小误差 myann.e_init(0.05) #训练 myann.train() #仿真,测试,对未知样本分类 myc=myann.simulate([35,68]) print "[35,68]" if myc=="+": print u"正类" else: print u"负类" #将测试点在最终效果图上显示出来,将它加入drawponint集,测试点表现为"*",并且色彩由其最终的分类结果而决定 myann.drawponint_add([35,68]) myc=myann.simulate([35,82]) print "[35,82]" if myc=="+": print u"正类" else: print u"负类" myann.drawponint_add([35,82]) myann.draw2d() #下面直接使用默认参数进行训练 traindata2=[[[9,25,30],-1],[[5,8,12],-1],[[15,31,49],-1],[[35,62,108],-1],[[19,40,60],-1],[[28,65,98],1],[[20,59,72],1],[[9,41,38],1],[[12,60,46],1],[[2,37,18],1]] myann2=nplann.Mplannliner() myann2.samples_init(traindata2) myann2.train() myc=myann2.simulate([35,68,110]) print "[35,68,110]" if myc=="+": print u"正类" else: print u"负类"
训练分类结果为:
...................
第179次调整中。。。误差:3.464102
第180次调整中。。。误差:2.828427
第181次调整中。。。误差:2.828427
第182次调整中。。。误差:3.464102
第183次调整中。。。误差:2.828427
第184次调整中。。。误差:0.000000
麦好 myhaspl@qq.com
http://blog.csdn.net/u010255642
[35,68]
负类
[35,82]
正类
...................
第10次调整中。。。误差:4.000000
第11次调整中。。。误差:4.898979
第12次调整中。。。误差:4.000000
第13次调整中。。。误差:4.000000
第14次调整中。。。误差:4.000000
第15次调整中。。。误差:4.000000
第16次调整中。。。误差:4.472136
第17次调整中。。。误差:2.828427
第18次调整中。。。误差:4.000000
第19次调整中。。。误差:4.000000
第20次调整中。。。误差:4.000000
第21次调整中。。。误差:4.000000
第22次调整中。。。误差:4.000000
第23次调整中。。。误差:4.472136
第24次调整中。。。误差:3.464102
第25次调整中。。。误差:4.000000
第26次调整中。。。误差:4.000000
第27次调整中。。。误差:4.000000
第28次调整中。。。误差:4.000000
第29次调整中。。。误差:4.000000
第30次调整中。。。误差:4.000000
第31次调整中。。。误差:3.464102
第32次调整中。。。误差:0.000000
麦好 myhaspl@qq.com
http://blog.csdn.net/u010255642
[35,68,110]
负类
效果图为:
模块要求安装numpy和matplotlib
windows下的下载地址为:
https://pypi.python.org/pypi/numpy/
http://matplotlib.org/downloads.html
线性模块库在csdn资源中下载: