dask / dask/dask-ml

Case Study: Criteo dataset

Open
#295 24 comments 0 reactions 0 assignees View on GitHub
Case Study
Dominant language
Python
Stars
951
Forks
262
PR merge metrics
No merged PRs in 30d

Description

The Criteo dataset is a 1TB dump of features around advertisements and whether or not someone clicked on the ad. It has a both dense and categorical/sparse data. I believe that the data is freely available on Azure.

There are some things that we might want to do with this dataset that are representative of other problems:

1. Logistic regression on large sparse data. This could use existing algorithms like L-BGFS or ADMM or it could use the more recent Incremental SGD work. It would be useful to compare the effectiveness of the algorithms above
2. We could also add hyper parameter optimization
3. Gradient boosted trees, presumably with the dask-xgboost connection. This raises a couple of questions. Can XGBoost support categorical data or scipy.sparse arrays? Or perhaps we have to provide a column of integers

As always, it might be a good start to just download a little bit of the criteo dataset (I think that each day of data is available separately) and work with sklearn directly to establish a baseline.

This came out of conversation with @ogrisel

Contributor guide

Open the contributing guide

Research direction

No source files or tests are named. Start by reviewing the Criteo dataset availability and downloading a small slice, then establish a scikit-learn baseline as the issue suggests. A complete effort would need a decided scope among sparse logistic regression, hyperparameter optimization, and gradient-boosted trees, with representative comparisons and documented handling of categorical or sparse data.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, python, scikit-learn
Domain
data, machine-learning
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.