from sklearn import svm
import numpy as np
import csv
def nor(ll):
nmax = max(ll)
nmin = min(ll)
ranges = nmax-nmin
for i in range (0,len(ll)):
ll[i]=(ll[i]-nmin)/ranges
def normalize(lst):
tt = []
for i in range(0,10):
temp = []
for j in range(0,len(lst)):
temp.append(lst[j][i])
nor(temp)
tt.append(temp)
for i in range(0,10):
for j in range(0,len(lst)):
lst[j][i] = tt[i][j]
filename1 = "_sample.csv"
filename2 = "_target.csv"
filename3 = "test.csv"
filename4 = "res.csv"
#read sample data
f = open(filename1)
reader = csv.reader(f, delimiter=',', skipinitialspace=True)
x = []
y = []
weight=[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]
for row in reader:
temp = []
for i in range(0,10):
temp.append(weight[i]*float(row[i]))
x.append(temp)
normalize(x)
f = open(filename2)
reader = csv.reader(f, skipinitialspace=True)
for row in reader:
a = int(row[0])
if a == 0:
a = -1
y.append(a)
#SVM learning model
clf=svm.SVC(kernel='linear',C=0.35)
# class 支持向量分类机
clf.fit(x,y)
# training the svc model
#read test data
xx = []
yy = []
f = open(filename3)
reader = csv.reader(f, delimiter=',', skipinitialspace=True)
for row in reader:
temp = []
for i in range(0,10):
temp.append(float(row[i]))
xx.append(temp)
normalize(xx)
f = open(filename4)
reader = csv.reader(f, skipinitialspace=True)
for row in reader:
a = int(row[0])
if a == 0:
a = -1
yy.append(a)
j = 0
per = 0
for i in xx:
res=clf.predict(np.array(i).reshape(1, -1))
if res*yy[j] == 1:
per = per+1
j = j+1
#print accuracy
print (per)
import numpy as np
import csv
def nor(ll):
nmax = max(ll)
nmin = min(ll)
ranges = nmax-nmin
for i in range (0,len(ll)):
ll[i]=(ll[i]-nmin)/ranges
def normalize(lst):
tt = []
for i in range(0,10):
temp = []
for j in range(0,len(lst)):
temp.append(lst[j][i])
nor(temp)
tt.append(temp)
for i in range(0,10):
for j in range(0,len(lst)):
lst[j][i] = tt[i][j]
filename1 = "_sample.csv"
filename2 = "_target.csv"
filename3 = "test.csv"
filename4 = "res.csv"
#read sample data
f = open(filename1)
reader = csv.reader(f, delimiter=',', skipinitialspace=True)
x = []
y = []
weight=[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]
for row in reader:
temp = []
for i in range(0,10):
temp.append(weight[i]*float(row[i]))
x.append(temp)
normalize(x)
f = open(filename2)
reader = csv.reader(f, skipinitialspace=True)
for row in reader:
a = int(row[0])
if a == 0:
a = -1
y.append(a)
#SVM learning model
clf=svm.SVC(kernel='linear',C=0.35)
# class 支持向量分类机
clf.fit(x,y)
# training the svc model
#read test data
xx = []
yy = []
f = open(filename3)
reader = csv.reader(f, delimiter=',', skipinitialspace=True)
for row in reader:
temp = []
for i in range(0,10):
temp.append(float(row[i]))
xx.append(temp)
normalize(xx)
f = open(filename4)
reader = csv.reader(f, skipinitialspace=True)
for row in reader:
a = int(row[0])
if a == 0:
a = -1
yy.append(a)
j = 0
per = 0
for i in xx:
res=clf.predict(np.array(i).reshape(1, -1))
if res*yy[j] == 1:
per = per+1
j = j+1
#print accuracy
print (per)