Simplified factorization machines implementation using SGD optimizer.
(
self,
n_components=10,
max_iter=100,
init_stdev=0.1,
learning_rate=0.01,
reg_v=0.1,
reg_w=0.5,
reg_w0=0.0,
)
| 17 | |
| 18 | class BaseFM(BaseEstimator): |
| 19 | def __init__( |
| 20 | self, |
| 21 | n_components=10, |
| 22 | max_iter=100, |
| 23 | init_stdev=0.1, |
| 24 | learning_rate=0.01, |
| 25 | reg_v=0.1, |
| 26 | reg_w=0.5, |
| 27 | reg_w0=0.0, |
| 28 | ): |
| 29 | """Simplified factorization machines implementation using SGD optimizer.""" |
| 30 | self.reg_w0 = reg_w0 |
| 31 | self.reg_w = reg_w |
| 32 | self.reg_v = reg_v |
| 33 | self.n_components = n_components |
| 34 | self.lr = learning_rate |
| 35 | self.init_stdev = init_stdev |
| 36 | self.max_iter = max_iter |
| 37 | self.loss = None |
| 38 | self.loss_grad = None |
| 39 | |
| 40 | def fit(self, X, y=None): |
| 41 | self._setup_input(X, y) |
nothing calls this directly
no outgoing calls
no test coverage detected