Skip to content

Commit 273b0db

Browse files
committed
update
1 parent b3309e6 commit 273b0db

File tree

1 file changed

+11
-17
lines changed

1 file changed

+11
-17
lines changed

svm_class/svm_smo.py

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,9 @@ def sigmoid(X1, X2, gamma=0.05, c=1):
3636

3737

3838
class SVM:
39-
def __init__(self, kernel, C=1.0, right=True):
39+
def __init__(self, kernel, C=1.0):
4040
self.kernel = kernel
4141
self.C = C
42-
self.right = right
4342

4443
def _loss(self, X, Y):
4544
# return -np.sum(self.alphas) + \
@@ -247,10 +246,7 @@ def fit(self, X, Y, tol=0.00001, eps=0.01):
247246
plt.show()
248247

249248
def _decision_function(self, X):
250-
if self.right:
251-
return (self.alphas * self.Ytrain).dot(self.kernel(self.Xtrain, X)) - self.b
252-
else:
253-
return (self.alphas * self.Ytrain).dot(self.kernel(self.Xtrain, X) - self.b)
249+
return (self.alphas * self.Ytrain).dot(self.kernel(self.Xtrain, X)) - self.b
254250

255251

256252
def predict(self, X):
@@ -293,17 +289,15 @@ def get_data():
293289
Xtest = scaler.transform(Xtest)
294290

295291
# now we'll use our custom implementation
296-
for right in (True,):
297-
print("Right:", right)
298-
model = SVM(kernel=linear, right=right)
299-
300-
t0 = datetime.now()
301-
model.fit(Xtrain, Ytrain)
302-
print("train duration:", datetime.now() - t0)
303-
t0 = datetime.now()
304-
print("train score:", model.score(Xtrain, Ytrain), "duration:", datetime.now() - t0)
305-
t0 = datetime.now()
306-
print("test score:", model.score(Xtest, Ytest), "duration:", datetime.now() - t0)
292+
model = SVM(kernel=linear)
293+
294+
t0 = datetime.now()
295+
model.fit(Xtrain, Ytrain)
296+
print("train duration:", datetime.now() - t0)
297+
t0 = datetime.now()
298+
print("train score:", model.score(Xtrain, Ytrain), "duration:", datetime.now() - t0)
299+
t0 = datetime.now()
300+
print("test score:", model.score(Xtest, Ytest), "duration:", datetime.now() - t0)
307301

308302
if Xtrain.shape[1] == 2:
309303
plot_decision_boundary(model)

0 commit comments

Comments
 (0)