SVM手动实现底层代码有些麻烦,这里借助sklearn实现了一下,数据以及代码地址:
https://github.com/qdbszsj/SVM
import pandas as pd
import numpy as np
dataset = pd.read_csv('/home/parker/watermelonData/watermelon3_0a.csv', delimiter=",")
# print(dataset)
X=dataset.iloc[range(17),[1,2]].values
y=dataset.values[:,3]
print("trueV",y)
trueV=y
from sklearn import svm
linearKernalMethod=svm.SVC(C=10000,kernel='linear')#C=1 defaultly
linearKernalMethod.fit(X,y)
predictV=linearKernalMethod.predict(X)
print("linear",predictV)
confusionMatrix=np.zeros((2,2))
for i in range(len(y)):
if predictV[i]==trueV[i]:
if trueV[i]==0:confusionMatrix[0,0]+=1
else: confusionMatrix[1,1]+=1
else:
if trueV[i]==0:confusionMatrix[0,1]+=1
else:confusionMatrix[1,0]+=1
print("linearConfusi