www.pudn.com > libsvm-weight-2.81.zip > svm_w_usage.py
#!/usr/bin/env python
import string
from svm import *
f = open("../heart.10", "r")
labels = []
samples = []
weights = []
line = f.readline()
max_index = 0
while line:
elems = string.split(line)
sample = {}
for e in elems[1:]:
points = string.split(e, ":")
sample[int(points[0])] = float(points[1])
if max_index < int(points[0]):
max_index = int(points[0])
labels.append(float(elems[0]))
samples.append(sample)
weights.append(0.001)
line = f.readline()
f.close()
print "%d samples loaded." % (len(samples))
param = svm_parameter(svm_type = C_SVC, kernel_type = RBF, gamma=1.0/max_index)
for i in range(10):
print weights
prob = svm_problem(labels, samples, weights)
model=svm_model(prob, param)
for i in range(len(samples)):
if model.predict(samples[i]) != labels[i]:
print ("deemphasizing %d"%i)
weights[i] = weights[i] / 2.0
else:
weights[i] = weights[i] * 2.0