Skip to content

Commit fb58570

Browse files
authored
Merge pull request #2 from drkrillo/sequential_minimum_optimization_add_doctests
Sequential minimum optimization add doctests
2 parents 2642f19 + 94b1403 commit fb58570

File tree

1 file changed

+22
-2
lines changed

1 file changed

+22
-2
lines changed

machine_learning/sequential_minimum_optimization.py

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -395,8 +395,8 @@ def _get_new_alpha(self, i1, i2, a1, a2, e1, e2, y1, y2):
395395
# Normalize data using min-max method
396396
def _norm(self, data):
397397
if self._init:
398-
self._min = np.min(data, axis=0) # [0, -2, 2] [1, 1, 0]
399-
self._max = np.max(data, axis=0) # [1, -1, 3] [1, 1, 1]
398+
self._min = np.min(data, axis=0)
399+
self._max = np.max(data, axis=0)
400400
self._init = False
401401
return (data - self._min) / (self._max - self._min)
402402
else:
@@ -436,6 +436,12 @@ def length(self):
436436

437437

438438
class Kernel:
439+
"""
440+
>>> from machine_learning.sequential_minimum_optimization import Kernel
441+
>>> kernel = Kernel(kernel='linear')
442+
>>> kernel._kernel_name
443+
'linear'
444+
"""
439445
def __init__(self, kernel, degree=1.0, coef0=0.0, gamma=1.0):
440446
self.degree = np.float64(degree)
441447
self.coef0 = np.float64(coef0)
@@ -445,9 +451,23 @@ def __init__(self, kernel, degree=1.0, coef0=0.0, gamma=1.0):
445451
self._check()
446452

447453
def _polynomial(self, v1, v2):
454+
"""
455+
>>> from machine_learning.sequential_minimum_optimization import Kernel
456+
>>> kernel = Kernel(kernel='linear')
457+
>>> result = kernel._polynomial(np.array([1, 2]), np.array([2, 3]))
458+
>>> int(result) == 8
459+
True
460+
"""
448461
return (self.gamma * np.inner(v1, v2) + self.coef0) ** self.degree
449462

450463
def _linear(self, v1, v2):
464+
"""
465+
>>> from machine_learning.sequential_minimum_optimization import Kernel
466+
>>> kernel = Kernel(kernel='linear')
467+
>>> result = kernel._polynomial(np.array([1, 2]), np.array([2, 3]))
468+
>>> int(result) == 8
469+
True
470+
"""
451471
return np.inner(v1, v2) + self.coef0
452472

453473
def _rbf(self, v1, v2):

0 commit comments

Comments
 (0)