本篇博客是对支持向量机的简单实现,数据集到我博客自行下载。
建立辅助函数命名为:支持向量机
import numpy as np
import random
def loadDataSet(filename):
dataMat=[]
labelMat=[]
fr=open(filename)
for line in fr.readlines():
lineArr=line.strip().split('\t')
dataMat.append([float(lineArr[0]),float(lineArr[1])])
labelMat.append(float(lineArr[2]))
return dataMat,labelMat
def selectJrand(i,m):
j=i
while (j==i):
j=int(random.uniform(0,m))
return j
def clipAlpha(aj,H,L):
if aj>H:
aj=H
if L>aj:
aj=L
return aj
import 支持向量机
import numpy as np
import matplotlib.pyplot as plt
import random
def smoSimple(dataMatIn,classLabels,C,toler,maxIter):
dataMatrix=np.mat(dataMatIn)
labelMat=np.mat(classLabels).transpose()
b=0
m,n=np.shape(dataMatrix)
alphas=np.mat(np.zeros((m,1)))
iter=0
while (