@@ -36,10 +36,9 @@ def sigmoid(X1, X2, gamma=0.05, c=1):
36
36
37
37
38
38
class SVM :
39
- def __init__ (self , kernel , C = 1.0 , right = True ):
39
+ def __init__ (self , kernel , C = 1.0 ):
40
40
self .kernel = kernel
41
41
self .C = C
42
- self .right = right
43
42
44
43
def _loss (self , X , Y ):
45
44
# return -np.sum(self.alphas) + \
@@ -247,10 +246,7 @@ def fit(self, X, Y, tol=0.00001, eps=0.01):
247
246
plt .show ()
248
247
249
248
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
254
250
255
251
256
252
def predict (self , X ):
@@ -293,17 +289,15 @@ def get_data():
293
289
Xtest = scaler .transform (Xtest )
294
290
295
291
# 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 )
307
301
308
302
if Xtrain .shape [1 ] == 2 :
309
303
plot_decision_boundary (model )
0 commit comments