deepctr.models.deepfm module

Author:

Weichen Shen, weichenswc@163.com

Reference:

[1] Guo H, Tang R, Ye Y, et al. Deepfm: a factorization-machine based neural network for ctr prediction[J]. arXiv preprint arXiv:1703.04247, 2017.(https://arxiv.org/abs/1703.04247)

deepctr.models.deepfm.DeepFM(linear_feature_columns, dnn_feature_columns, fm_group=('default_group',), dnn_hidden_units=(256, 128, 64), l2_reg_linear=1e-05, l2_reg_embedding=1e-05, l2_reg_dnn=0, seed=1024, dnn_dropout=0, dnn_activation='relu', dnn_use_bn=False, task='binary')[source]

Instantiates the DeepFM Network architecture.

Parameters
  • linear_feature_columns – An iterable containing all the features used by the linear part of the model.

  • dnn_feature_columns – An iterable containing all the features used by the deep part of the model.

  • fm_group – list, group_name of features that will be used to do feature interactions.

  • dnn_hidden_units – list,list of positive integer or empty list, the layer number and units in each layer of DNN

  • l2_reg_linear – float. L2 regularizer strength applied to linear part

  • l2_reg_embedding – float. L2 regularizer strength applied to embedding vector

  • l2_reg_dnn – float. L2 regularizer strength applied to DNN

  • seed – integer ,to use as random seed.

  • dnn_dropout – float in [0,1), the probability we will drop out a given DNN coordinate.

  • dnn_activation – Activation function to use in DNN

  • dnn_use_bn – bool. Whether use BatchNormalization before activation or not in DNN

  • task – str, "binary" for binary logloss or "regression" for regression loss

Returns

A Keras model instance.