Esempio n. 1
0
class LR():
    def __init__(self,
                 features_sizes,
                 loss_type='rmse',
                 hash_size=None,
                 metric_type=None):
        self.model = Alita_DeepFM(features_sizes=features_sizes,
                                  loss_type=loss_type,
                                  use_LR=True,
                                  use_FM=False,
                                  use_MLP=False,
                                  hash_size=hash_size,
                                  metric_type=metric_type)

    def fit(self,
            ids_train,
            ids_test,
            y_train,
            y_test,
            lr=0.001,
            N_EPOCH=50,
            batch_size=200,
            early_stopping_rounds=20):
        return self.model.fit(ids_train,
                              ids_test,
                              y_train,
                              y_test,
                              lr=lr,
                              N_EPOCH=N_EPOCH,
                              batch_size=batch_size,
                              early_stopping_rounds=early_stopping_rounds)

    def predict(self, ids_pred):
        return self.model.predict(ids_pred)
Esempio n. 2
0
 def __init__(self,
              features_sizes,
              dense_features_size=0,
              loss_type='rmse',
              k=10,
              deep_layers=(256, 256),
              activation=tf.nn.relu,
              FM_ignore_interaction=None,
              dropout_keeprate=1.0,
              autoint_params=None,
              metric_type=None):
     self.model = Alita_DeepFM(features_sizes=features_sizes,
                               dense_features_size=dense_features_size,
                               loss_type=loss_type,
                               k=k,
                               deep_layers=deep_layers,
                               activation=activation,
                               use_LR=True,
                               use_FM=False,
                               use_MLP=True,
                               use_AutoInt=True,
                               FM_ignore_interaction=FM_ignore_interaction,
                               autoint_params=autoint_params,
                               dropout_keeprate=dropout_keeprate,
                               metric_type=metric_type)
Esempio n. 3
0
class DeepAutoInt():
    def __init__(self,
                 features_sizes,
                 dense_features_size=0,
                 loss_type='rmse',
                 k=10,
                 deep_layers=(256, 256),
                 activation=tf.nn.relu,
                 FM_ignore_interaction=None,
                 dropout_keeprate=1.0,
                 autoint_params=None,
                 metric_type=None):
        self.model = Alita_DeepFM(features_sizes=features_sizes,
                                  dense_features_size=dense_features_size,
                                  loss_type=loss_type,
                                  k=k,
                                  deep_layers=deep_layers,
                                  activation=activation,
                                  use_LR=True,
                                  use_FM=False,
                                  use_MLP=True,
                                  use_AutoInt=True,
                                  FM_ignore_interaction=FM_ignore_interaction,
                                  autoint_params=autoint_params,
                                  dropout_keeprate=dropout_keeprate,
                                  metric_type=metric_type)

    def fit(self,
            ids_train,
            ids_test,
            y_train,
            y_test,
            dense_train=None,
            dense_test=None,
            lr=0.001,
            N_EPOCH=50,
            batch_size=200,
            early_stopping_rounds=20):
        return self.model.fit(ids_train,
                              ids_test,
                              y_train,
                              y_test,
                              dense_train=dense_train,
                              dense_test=dense_test,
                              lr=lr,
                              N_EPOCH=N_EPOCH,
                              batch_size=batch_size,
                              early_stopping_rounds=early_stopping_rounds)

    def predict(
        self,
        ids_pred,
        dense_pred=None,
    ):
        return self.model.predict(ids_pred, dense_pred=dense_pred)
Esempio n. 4
0
 def __init__(self,
              features_sizes,
              loss_type='rmse',
              hash_size=None,
              metric_type=None):
     self.model = Alita_DeepFM(features_sizes=features_sizes,
                               loss_type=loss_type,
                               use_LR=True,
                               use_FM=False,
                               use_MLP=False,
                               hash_size=hash_size,
                               metric_type=metric_type)
Esempio n. 5
0
 def __init__(self,
              features_sizes,
              loss_type='rmse',
              k=10,
              dropout_keeprate=1.0,
              metric_type=None):
     self.model = Alita_DeepFM(features_sizes=features_sizes,
                               loss_type=loss_type,
                               k=k,
                               use_LR=True,
                               use_FM=True,
                               use_MLP=False,
                               use_NFM=True,
                               dropout_keeprate=dropout_keeprate,
                               metric_type=metric_type)
Esempio n. 6
0
 def __init__(self,
              features_sizes,
              loss_type='rmse',
              k=10,
              FM_ignore_interaction=None,
              dropout_keeprate=1.0,
              hash_size=None,
              metric_type=None):
     self.model = Alita_DeepFM(features_sizes=features_sizes,
                               loss_type=loss_type,
                               k=k,
                               use_LR=True,
                               use_FM=True,
                               use_MLP=False,
                               FM_ignore_interaction=FM_ignore_interaction,
                               dropout_keeprate=dropout_keeprate,
                               hash_size=hash_size,
                               metric_type=metric_type)
Esempio n. 7
0
 def __init__(self,
              features_sizes,
              loss_type='rmse',
              deep_layers=(256, 256),
              activation=tf.nn.relu,
              k=10,
              dropout_keeprate=1.0,
              metric_type=None):
     self.model = Alita_DeepFM(features_sizes=features_sizes,
                               loss_type=loss_type,
                               k=k,
                               deep_layers=deep_layers,
                               activation=activation,
                               use_LR=True,
                               use_FM=False,
                               use_MLP=True,
                               dropout_keeprate=dropout_keeprate,
                               metric_type=metric_type)
Esempio n. 8
0
class FiBiFM():
    def __init__(self,
                 features_sizes,
                 loss_type='rmse',
                 k=10,
                 dropout_keeprate=1.0,
                 metric_type=None):
        self.model = Alita_DeepFM(features_sizes=features_sizes,
                                  loss_type=loss_type,
                                  k=k,
                                  use_LR=True,
                                  use_FM=True,
                                  use_MLP=False,
                                  use_NFM=False,
                                  use_BiFM=True,
                                  use_SE=True,
                                  dropout_keeprate=dropout_keeprate,
                                  metric_type=metric_type)

    def fit(self,
            ids_train,
            ids_test,
            y_train,
            y_test,
            dense_train=None,
            dense_test=None,
            lr=0.001,
            N_EPOCH=50,
            batch_size=200,
            early_stopping_rounds=20):
        return self.model.fit(ids_train,
                              ids_test,
                              y_train,
                              y_test,
                              dense_train=dense_train,
                              dense_test=dense_test,
                              lr=lr,
                              N_EPOCH=N_EPOCH,
                              batch_size=batch_size,
                              early_stopping_rounds=early_stopping_rounds)

    def predict(self, ids_pred, dense_pred=None):
        return self.model.predict(ids_pred, dense_pred=dense_pred)
Esempio n. 9
0
 def __init__(self,
              features_sizes,
              loss_type='rmse',
              k=10,
              FM_ignore_interaction=None,
              dropout_keeprate=1.0,
              lambda_l2=0.0,
              metric_type=None):  #todo lambda_L2 only added for AFM
     self.model = Alita_DeepFM(features_sizes=features_sizes,
                               loss_type=loss_type,
                               k=k,
                               use_LR=True,
                               use_FM=True,
                               use_CFM=True,
                               use_MLP=False,
                               FM_ignore_interaction=FM_ignore_interaction,
                               dropout_keeprate=dropout_keeprate,
                               lambda_l2=lambda_l2,
                               metric_type=metric_type)
Esempio n. 10
0
class AFM():
    def __init__(self,
                 features_sizes,
                 loss_type='rmse',
                 k=10,
                 FM_ignore_interaction=None,
                 attention_FM=10,
                 dropout_keeprate=1.0,
                 lambda_l2=0.0,
                 metric_type=None):  #todo lambda_L2 only added for AFM
        self.model = Alita_DeepFM(features_sizes=features_sizes,
                                  loss_type=loss_type,
                                  k=k,
                                  use_LR=True,
                                  use_FM=True,
                                  use_MLP=False,
                                  FM_ignore_interaction=FM_ignore_interaction,
                                  attention_FM=attention_FM,
                                  dropout_keeprate=dropout_keeprate,
                                  lambda_l2=lambda_l2,
                                  metric_type=metric_type)

    def fit(self,
            ids_train,
            ids_test,
            y_train,
            y_test,
            lr=0.001,
            N_EPOCH=50,
            batch_size=200,
            early_stopping_rounds=20):
        return self.model.fit(ids_train,
                              ids_test,
                              y_train,
                              y_test,
                              lr=lr,
                              N_EPOCH=N_EPOCH,
                              batch_size=batch_size,
                              early_stopping_rounds=early_stopping_rounds)

    def predict(self, ids_pred):
        return self.model.predict(ids_pred)
Esempio n. 11
0
class AutoInt():
    def __init__(self,
                 features_sizes,
                 loss_type='rmse',
                 k=10,
                 FM_ignore_interaction=None,
                 dropout_keeprate=1.0,
                 autoint_params=None,
                 metric_type=None):
        self.model = Alita_DeepFM(features_sizes=features_sizes,
                                  loss_type=loss_type,
                                  k=k,
                                  use_LR=False,
                                  use_FM=False,
                                  use_MLP=False,
                                  use_AutoInt=True,
                                  FM_ignore_interaction=FM_ignore_interaction,
                                  autoint_params=autoint_params,
                                  dropout_keeprate=dropout_keeprate,
                                  metric_type=metric_type)

    def fit(self,
            ids_train,
            ids_test,
            y_train,
            y_test,
            lr=0.001,
            N_EPOCH=50,
            batch_size=200,
            early_stopping_rounds=20):
        return self.model.fit(ids_train,
                              ids_test,
                              y_train,
                              y_test,
                              lr=lr,
                              N_EPOCH=N_EPOCH,
                              batch_size=batch_size,
                              early_stopping_rounds=early_stopping_rounds)

    def predict(self, ids_pred):
        return self.model.predict(ids_pred)
Esempio n. 12
0
class WideAndDeep():
    def __init__(self,
                 features_sizes,
                 loss_type='rmse',
                 deep_layers=(256, 256),
                 activation=tf.nn.relu,
                 k=10,
                 dropout_keeprate=1.0,
                 metric_type=None):
        self.model = Alita_DeepFM(features_sizes=features_sizes,
                                  loss_type=loss_type,
                                  k=k,
                                  deep_layers=deep_layers,
                                  activation=activation,
                                  use_LR=True,
                                  use_FM=False,
                                  use_MLP=True,
                                  dropout_keeprate=dropout_keeprate,
                                  metric_type=metric_type)

    def fit(self,
            ids_train,
            ids_test,
            y_train,
            y_test,
            lr=0.001,
            N_EPOCH=50,
            batch_size=200,
            early_stopping_rounds=20):
        return self.model.fit(ids_train,
                              ids_test,
                              y_train,
                              y_test,
                              lr=lr,
                              N_EPOCH=N_EPOCH,
                              batch_size=batch_size,
                              early_stopping_rounds=early_stopping_rounds)

    def predict(self, ids_pred):
        return self.model.predict(ids_pred)