deepctr.models.ifm module

Author:
zanshuxun, zanshuxun@aliyun.com
Reference:
[1] Yu Y, Wang Z, Yuan B. An Input-aware Factorization Machine for Sparse Prediction[C]//IJCAI. 2019: 1466-1472. (https://www.ijcai.org/Proceedings/2019/0203.pdf)
deepctr.models.ifm.IFM(linear_feature_columns, dnn_feature_columns, 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 IFM Network architecture.

Parameters:
  • linear_feature_columns – An iterable containing all the features used by linear part of the model.
  • dnn_feature_columns – An iterable containing all the features used by deep part of the model.
  • 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.