Case Study: Criteo dataset
- 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
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