(self, X)
| 84 | self.w = None |
| 85 | |
| 86 | def project(self, X): |
| 87 | if self.w is not None: |
| 88 | return np.dot(X, self.w) + self.b |
| 89 | else: |
| 90 | y_predict = np.zeros(len(X)) |
| 91 | for i in range(len(X)): |
| 92 | s = 0 |
| 93 | for a, sv_y, sv in zip(self.a, self.sv_y, self.sv): |
| 94 | s += a * sv_y * self.kernel(X[i], sv) |
| 95 | y_predict[i] = s |
| 96 | return y_predict + self.b |
| 97 | |
| 98 | def predict(self, X): |
| 99 | return np.sign(self.project(X)) |
no outgoing calls