(self, loss)
| 59 | self._factor_step(loss) |
| 60 | |
| 61 | def _factor_step(self, loss): |
| 62 | for ix, x in enumerate(self.X): |
| 63 | for i in range(self.n_features): |
| 64 | v_grad = loss[ix] * (x.dot(self.v).dot(x[i])[0] - self.v[i] * x[i] ** 2) |
| 65 | self.v[i] -= self.lr * v_grad + (2 * self.reg_v * self.v[i]) |
| 66 | |
| 67 | def _predict(self, X=None): |
| 68 | linear_output = np.dot(X, self.w) |