Skip to content

ooaarg/ucbfe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 

Repository files navigation

UCB-Based Feature Engineering for Cold-Start in Recommenders - Paper Data Python

A model-agnostic feature engineering method for improving cold-start item ranking in CTR-based recommender systems.

This repository contains the source code and experiment setup for the KDD 2026 paper UCB-Based Feature Engineering for Cold-Start in Recommenders. UCB-FE transforms behavioral features at inference time using position-aware upper confidence bounds, improving cold-item exploration while preserving the quality of existing CTR models.

What is UCB-FE?

Industrial ranking systems often sort items by predicted Click-Through Rate (CTR). These models rely heavily on behavioral features such as historical clicks, impressions, and CTR. For new or rarely shown items, those signals are sparse, so otherwise relevant cold items can be underestimated and pushed into the long tail of search results.

UCB-FE addresses this by applying Upper Confidence Bound (UCB) feature engineering to behavioral features during inference. Instead of changing model weights or architecture, UCB-FE replaces uncertain behavioral feature values for cold items with position-aware optimistic estimates and then reuses the original trained CTR model. The repository also includes the coldNDCG evaluation setup for measuring ranking quality when cold-item performance matters.

Repository Structure

Data

The data for UCB-FE experiments can be downloaded from Zenodo:

https://doi.org/10.5281/zenodo.20433675

After downloading the data, place the files according to the paths expected by the model configuration files under UCB-FE/src/models/.

Installation

Clone the repository and create the Conda environment:

git clone git@github.com:ooaarg/ucbfe.git
cd ucbfe
conda env create -f environment.yml
conda activate ucbBasedFE

Running Experiments

Run the full UCB-FE experiment script:

cd UCB-FE/src
bash run.sh

You can also run an individual pipeline configuration directly:

python run/pipeline.py --dataset mq2007 --cold-periods 0 10 100 200 500 --experiment FinalNet_mq2007

About

Official implementation of code for the KDD 2026 paper "UCB-Based Feature Engineering for Cold-Start in Recommenders"

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors