in src/rime/__init__.py [0:0]
def registered(self):
registered = {
"Rand": lambda D: Rand().transform(D),
"Pop": lambda D: self._pop.transform(D),
"EMA": lambda D: EMA(D.horizon).transform(D) * self._pop_item.transform(D),
"Hawkes": lambda D: self._hawkes.transform(D) * self._pop_item.transform(D),
"HP": lambda D: self._hawkes_poisson.transform(D) * self._pop_item.transform(D),
"RNN": lambda D: self._rnn.transform(D),
"RNN-Pop": lambda D: self._rnn.transform(D) * Pop(1, 0).transform(D),
"RNN-EMA": lambda D: self._rnn.transform(D) * EMA(D.horizon).transform(D),
"RNN-Hawkes": lambda D: self._rnn.transform(D) * self._hawkes.transform(D),
"RNN-HP": lambda D: self._rnn.transform(D) * self._hawkes_poisson.transform(D),
"Transformer": lambda D: self._transformer.transform(D),
"Transformer-Pop": lambda D: self._transformer.transform(D) * Pop(1, 0).transform(D),
"Transformer-EMA": lambda D: self._transformer.transform(D) * EMA(D.horizon).transform(D),
"Transformer-Hawkes": lambda D: self._transformer.transform(D) * self._hawkes.transform(D),
"Transformer-HP": lambda D: self._transformer.transform(D) * self._hawkes_poisson.transform(D),
"BPR-Item": lambda D: self._bpr_item.transform(D),
"BPR-User": lambda D: self._bpr_user.transform(D),
"BPR": lambda D: self._bpr.transform(D),
"GraphConv-Base": lambda D: self._graph_conv_base.transform(D),
"GraphConv-Extra": lambda D: self._graph_conv_extra.transform(D),
"LDA": lambda D: self._lda.transform(D),
"ALS": lambda D: self._als.transform(D),
"LogisticMF": lambda D: self._logistic_mf.transform(D),
"BayesLM-0": lambda D: self._bayes_lm_0.transform(D),
"BayesLM-1": lambda D: self._bayes_lm_1.transform(D),
"ItemKNN-0": lambda D: self._item_knn_0.transform(D),
"ItemKNN-1": lambda D: self._item_knn_1.transform(D),
}
# disable models due to missing inputs
if not ('TEST_START_TIME' in self.D.user_in_test and '_hist_ts' in self.D.user_in_test
and self.D.horizon < float("inf")):
warnings.warn("disabling temporal models due to missing TEST_START_TIME, _hist_ts or horizon")
for model in ['EMA', 'Hawkes', 'HP', 'RNN-EMA', 'RNN-Hawkes', 'RNN-HP',
'Transformer-EMA', 'Transformer-Hawkes', 'Transformer-HP']:
registered.pop(model, None)
if self.V is None:
warnings.warn("disabling HP and GraphConv due to missing validation set")
for model in ['HP', 'RNN-HP', 'Transformer-HP',
'GraphConv-Base', 'GraphConv-Extra']:
registered.pop(model, None)
if 'TITLE' not in self.D.training_data.item_df:
warnings.warn("disabling zero-shot models due to missing item TITLE")
for model in ['BayesLM-0', 'BayesLM-1', 'ItemKNN-0', 'ItemKNN-1']:
registered.pop(model, None)
return registered