Package: mlgb
MLGBmeansMachineLearning of theGreatBoss, and is called「妙计包」.MLGBis a library that includes many models of CTR Prediction & Recommender System by TensorFlow & PyTorch.AdvantagesSupported ModelsInstallationGetting StartedCode ExamplesCitationAdvantagesEasy!Usemlgb.get_model(model_name, **kwargs)to get a complex model.Fast!Better performance through better code.Enjoyable!50+ ranking & matching models to use, 2 languages(TensorFlow & PyTorch) to deploy.Supported ModelsIDModel NamePaper LinkPaper TeamPaper Year1LRPredicting Clicks: Estimating the Click-Through Rate for New AdsMicrosoft20072PLM/MLRLearning Piece-wise Linear Models from Large Scale Data for Ad Click PredictionAlibaba20173MLP/DNNNeural Networks for Pattern RecognitionChristopher M. Bishop(Microsoft, 1997-Present), Foreword by Geoffrey Hinton.19954DLRMDeep Learning Recommendation Model for Personalization and Recommendation SystemsFacebook(Meta)20195MaskNetMaskNet: Introducing Feature-Wise Multiplication to CTR Ranking Models by Instance-Guided MaskSina Weibo20216DCM/DeepCrossDeep Crossing: Web-Scale Modeling without Manually Crafted Combinatorial FeaturesMicrosoft20167DCNDCN V2: Improved Deep & Cross Network and Practical Lessons for Web-scale Learning to Rank Systems,v1Google(Alphabet)2017, 20208EDCNEnhancing Explicit and Implicit Feature Interactions via Information Sharing for Parallel Deep CTR ModelsHuawei20219FMFactorization MachinesSteffen Rendle(Google, 2013-Present)201010FFMField-aware Factorization Machines for CTR PredictionNTU201611HOFMHigher-Order Factorization MachinesNTT201612FwFMField-weighted Factorization Machines for Click-Through Rate Prediction in Display AdvertisingJunwei Pan(Yahoo), etc.2018, 202013FmFMFM^2: Field-matrixed Factorization Machines for Recommender SystemsYahoo202114FEFMFIELD-EMBEDDED FACTORIZATION MACHINES FOR CLICK-THROUGH RATE PREDICTIONHarshit Pande(Adobe)2020, 202115AFMAttentional Factorization Machines: Learning the Weight of Feature Interactions via Attention NetworksZJU&NUS(Jun Xiao(ZJU), Xiangnan He(NUS), etc.)201716LFMLearning Feature Interactions with Lorentzian Factorization MachineEBay201917IFMAn Input-aware Factorization Machine for Sparse PredictionTHU201918DIFMA Dual Input-aware Factorization Machine for CTR PredictionTHU202019FNNDeep Learning over Multi-field Categorical Data – A Case Study on User Response PredictionUCL(Weinan Zhang(UCL, SJTU), etc.)201620PNNProduct-based Neural Networks for User ResponseSJTU&UCL(Yanru Qu(SJTU), Weinan Zhang(SJTU, UCL), etc.)201621PINProduct-based Neural Networks for User Response Prediction over Multi-field Categorical DataHuawei(Yanru Qu(Huawei(2017.3-2018.3), SJTU), Weinan Zhang(SJTU, UCL), etc.)201822ONN/NFFMOperation-aware Neural Networks for User Response PredictionNJU201923AFNAdaptive Factorization Network: Learning Adaptive-Order Feature InteractionsSJTU2019, 202024NFMNeural Factorization Machines for Sparse Predictive AnalyticsNUS(Xiangnan He(NUS))201725WDLWide & Deep Learning for Recommender SystemsGoogle(Alphabet)201626DeepFMDeepFM: A Factorization-Machine based Neural Network for CTR PredictionHuawei201727DeepFEFMFIELD-EMBEDDED FACTORIZATION MACHINES FOR CLICK-THROUGH RATE PREDICTIONHarshit Pande(Adobe)2020, 202128FLENFLEN: Leveraging Field for Scalable CTR PredictionMeitu2019, 202029CCPMA Convolutional Click Prediction ModelCASIA201530FGCNNFeature Generation by Convolutional Neural Network for Click-Through Rate PredictionHuawei201931XDeepFMxDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender SystemsMicrosoft(Jianxun Lian(USTC, Microsoft(2018.7-Present)), etc.)201832FiBiNetFiBiNET: Combining Feature Importance and Bilinear feature Interaction for Click-Through Rate PredictionSina Weibo201933AutoIntAutoInt: Automatic Feature Interaction Learning via Self-Attentive Neural NetworksPKU2018, 201934GRU4RecSession-based Recommendations with Recurrent Neural NetworksTelefonica2015, 201635CaserPersonalized Top-N Sequential Recommendation via Convolutional Sequence EmbeddingSFU201836SASRecSelf-Attentive Sequential RecommendationUCSD201837BERT4RecBERT4Rec: Sequential Recommendation with Bidirectional Encoder Representations from TransformerAlibaba201938BSTBehavior Sequence Transformer for E-commerce Recommendation in AlibabaAlibaba201939DINDeep Interest Network for Click-Through Rate Prediction,v1Alibaba2017, 201840DIENDeep Interest Evolution Network for Click-Through Rate PredictionAlibaba201841DSINDeep Session Interest Network for Click-Through Rate PredictionAlibaba201942SharedBottomAn Overview of Multi-Task Learning in Deep Neural NetworksSebastian Ruder(InsightCentre)201743ESMMEntire Space Multi-Task Model: An Effective Approach for Estimating Post-Click Conversion RateAlibaba201844MMoEModeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-ExpertsGoogle(Alphabet)201845PLEProgressive Layered Extraction (PLE): A Novel Multi-Task Learning (MTL) Model for Personalized RecommendationsTencent202046PEPNetPEPNet: Parameter and Embedding Personalized Network for Infusing with Personalized Prior InformationKuaishou202347NCFNeural Collaborative FilteringNUS(Xiangnan He(NUS), etc)201748MatchFMFactorization MachinesSteffen Rendle(Google, 2013-Present)201049DSSMLearning deep structured semantic models for web search using clickthrough dataMicrosoft201350EBREmbedding-based Retrieval in Facebook SearchFacebook(Meta)202051YoutubeDNNDeep Neural Networks for YouTube RecommendationsGoogle(Alphabet)201652MINDMulti-Interest Network with Dynamic Routing for Recommendation at TmallAlibaba2019Installation# PYPIpipinstall--upgrademlgb# Condacondainstall--channelconda-forgemlgbGetting Startedimportmlgb# parameters of get_model:help(mlgb.get_model)"""get_model(feature_names, model_name='LR', task='binary', aim='ranking', lang='TensorFlow', device=None, seed=None, **kwargs):param feature_names: tuple(tuple(dict)), must. Embedding need vocabulary size and custom embed_dim of features.:param model_name: str, default 'LR'. Union[`mlgb.ranking_models`, `mlgb.matching_models`, `mlgb.mtl_models`]:param task: str, default 'binary'. Union['binary', 'regression', 'multiclass:{int}']:param aim: str, default 'ranking'. Union['ranking', 'matching', 'mtl']:param lang: str, default 'TensorFlow'. Union['TensorFlow', 'PyTorch', 'tf', 'torch']:param device: Optional[str, int], default None. Only for PyTorch.:param seed: Optional[int], default None.:param **kwargs: more model parameters by `mlgb.get_model_help(model_name)`."""# parameters of model self:mlgb.get_model_help(model_name='LR',lang='torch')"""class LR(torch.nn.modules.module.Module)|  LR(feature_names, task='binary', device='cpu', inputs_if_multivalued=False, inputs_if_sequential=False, inputs_if_embed_dense=False, embed_dim=32, embed_2d_dim=None, embed_initializer=None, pool_mv_mode='Pooling:average', pool_mv_axis=2, pool_mv_initializer=None, pool_seq_mode='Pooling:average', pool_seq_axis=1, pool_seq_initializer=None, model_l1=0.0, model_l2=0.0, linear_if_bias=True)||  Methods defined here:||  __init__(self, feature_names, task='binary', device='cpu', inputs_if_multivalued=False, inputs_if_sequential=False, inputs_if_embed_dense=False, embed_dim=32, embed_2d_dim=None, embed_initializer=None, pool_mv_mode='Pooling:average', pool_mv_axis=2, pool_mv_initializer=None, pool_seq_mode='Pooling:average', pool_seq_axis=1, pool_seq_initializer=None, model_l1=0.0, model_l2=0.0, linear_if_bias=True)|      Model Name: LR(LinearOrLogisticRegression)|      Paper Team: Microsoft|      Paper Year: 2007|      Paper Name: <Predicting Clicks: Estimating the Click-Through Rate for New Ads>|      Paper Link: https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/predictingclicks.pdf||      Task Inputs Parameters:|          :param feature_names: tuple(tuple(dict)), must. Embedding need vocabulary size and custom embed_dim of features.|          :param task: str, default 'binary'. Union['binary', 'regression']|          :param device: str, default 'cpu'.|          :param inputs_if_multivalued: bool, default False.|          :param inputs_if_sequential: bool, default False.|          :param inputs_if_embed_dense: bool, default False.|          :param embed_dim: int, default 32.|          :param embed_2d_dim: Optional[int], default None. When None, each field has own embed_dim by feature_names.|          :param embed_initializer: Optional[str], default None. When None, activation judge first, xavier_normal end.|          :param pool_mv_mode: str, default 'Pooling:average'. Pooling mode of multivalued inputs. Union[|                              'Attention', 'Weighted', 'Pooling:max', 'Pooling:average', 'Pooling:sum']|          :param pool_mv_axis: int, default 2. Pooling axis of multivalued inputs.|          :param pool_mv_initializer: Optional[str], default None. When None, activation judge first,|                              xavier_normal end. When pool_mv_mode is in ('Weighted', 'Attention'), it works.|          :param pool_seq_mode: str, default 'Pooling:average'. Pooling mode of sequential inputs. Union[|                              'Attention', 'Weighted', 'Pooling:max', 'Pooling:average', 'Pooling:sum']|          :param pool_seq_axis: int, default 1. Pooling axis of sequential inputs.|          :param pool_seq_initializer: Optional[str], default None. When None, activation judge first,|                              xavier_normal end. When pool_seq_mode is in ('Weighted', 'Attention'), it works.||      Task Effective Parameters:|          :param model_l1: float, default 0.0.|          :param model_l2: float, default 0.0.||      Task Model Parameters:|          :param linear_if_bias: bool, default True."""Code ExamplesCode ExamplesTensorFlowPyTorchCitationIf you use this for research, please cite it using the following BibTeX entry. Thanks.@misc{uliontse2020mlgb,author={UlionTse},title={MLGB is a library that includes many models of CTR Prediction & Recommender System by TensorFlow & PyTorch},year={2020},publisher={GitHub},journal={GitHub Repository},howpublished={\url{https://github.com/UlionTse/mlgb}},}