标签:
#coding=utf-8 ‘‘‘ Created on Nov 22, 2010 @author: Peter ‘‘‘ from numpy import * import matplotlib import matplotlib.pyplot as plt from matplotlib.patches import Circle xcord0 = [] ycord0 = [] xcord1 = [] ycord1 = [] markers =[] colors =[] fr = open(‘testSet.txt‘) #this file was generated by 2normalGen.py for line in fr.readlines(): lineSplit = line.strip().split(‘\t‘) #得到第一行数据,并为list格式 xPt = float(lineSplit[0]) yPt = float(lineSplit[1]) label = int(lineSplit[2]) #这三个变量依次为第一,第二,第三列数据 if (label == -1): #如果为负例,则将x,y坐标赋值给cord0否则赋值给cord1 xcord0.append(xPt) ycord0.append(yPt) else: xcord1.append(xPt) ycord1.append(yPt) fr.close()#关闭打开的文件 fig = plt.figure()#生成一个640*420的画布 ax = fig.add_subplot(111)#画布分成一行一列,图片在第一块 ax.scatter(xcord0,ycord0, marker=‘s‘, s=90)#在坐标系中画点,前两个参数为点坐标,marker=s为方形,s=90为大小,c=red为坐标颜色 ax.scatter(xcord1,ycord1, marker=‘o‘, s=50, c=‘red‘) plt.title(‘Support Vectors Circled‘) #坐标表示要画圈的地方,第二个参数表示圈的大小,faceclolor表示,edgecolor表示圈的颜色值,linewidth表示圈的线条粗细,alpha表示颜色深浅 circle = Circle((4.6581910000000004, 3.507396), 0.5, facecolor=‘none‘, edgecolor=(0,0.8,0.8), linewidth=3, alpha=0.5) ax.add_patch(circle) circle = Circle((3.4570959999999999, -0.082215999999999997), 0.5, facecolor=‘none‘, edgecolor=(0,0.8,0.8), linewidth=3, alpha=0.5) ax.add_patch(circle) circle = Circle((6.0805730000000002, 0.41888599999999998), 0.5, facecolor=‘none‘, edgecolor=(0,0.8,0.8), linewidth=3, alpha=0.5) ax.add_patch(circle) #plt.plot([2.3,8.5], [-6,6]) #seperating hyperplane b = -3.75567; w0=0.8065; w1=-0.2761#参数已经训练好了 x = arange(-2.0, 12.0, 0.1) y = (-w0*x - b)/w1 ax.plot(x,y)#画出直线 ax.axis([-2,12,-8,6])#设置坐标轴,-2~12位横轴;-8~6位纵轴 plt.show()
标签:
原文地址:http://www.cnblogs.com/blueyyc/p/5674927.html