Skip to main content

A recommendation system models based Keras

Project description

Keras Recommenders

Keras Recommenders is a library for building recommender system models using Keras.

It was developed with a focus on enabling fast experimentation on recommender system.

It's built on Keras and aims to have a gentle learning curve in recommender models.

Note: Currently, Keras-recommenders is only support multi task learning framework, more models is preparing!

Welcome to join us!

Installation

Make sure you have TensorFlow 2.x and DeepCTR installed, and install from pip:

pip install keras-recommenders

Quick Start

from keras_recommenders.ple import PLE 

model = PLE(dnn_feature_columns, num_tasks=2, task_types=['binary', 'regression'], 
            task_names=['task 1','task 2'], num_levels=2, num_experts_specific=8,
            num_experts_shared=4, expert_dnn_units=[64,64], gate_dnn_units=[16,16],
            tower_dnn_units_lists=[[32,32],[32,32]])

model.compile("adam", loss=["binary_crossentropy", "mean_squared_error"], metrics=['AUC','mae'])

model.fit(X_train, [y_task1, y_task2], batch_size=256, epochs=5, verbose=2)

y_pred = model.predict(X_test, batch_size=256)

Multi-task Learning Models for Recommender Systems

Currently this project is developed based on DeepCTR :https://github.com/shenweichen/DeepCTR.

You can easy to use the code to design your multi task learning model for multi regression or classification tasks.

Example 1

Dataset: http://archive.ics.uci.edu/ml/machine-learning-databases/adult/

Task 1: (Classification) aims to predict whether the income exceeds 50K.

Task 2: (Classification) aims to predict this person’s marital status is never married.

Example 2

Dataset: https://archive.ics.uci.edu/ml/machine-learning-databases/census-income-mld/

Preparing

Model Description Paper
Shared-Bottom shared-bottom Multitask learning(1998)
ESMM Entire Space Multi-Task Model Entire Space Multi-Task Model: An Effective Approach for Estimating Post-Click Conversion Rate(SIGIR'18)
MMoE Multi-gate Mixture-of-Experts Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts(KDD'18)
CGC Customized Gate Control Progressive Layered Extraction (PLE): A Novel Multi-Task Learning (MTL) Model for Personalized Recommendations(RecSys '20)
PLE Progressive Layered Extraction Progressive Layered Extraction (PLE): A Novel Multi-Task Learning (MTL) Model for Personalized Recommendations(RecSys '20)

Shared-Bottom & MMOE

mmoe&shared_bottom

ESMM

esmm1

CGC

cgc

PLE

ple

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

keras-recommenders-0.0.3.tar.gz (11.7 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page