~/talk

Large-Scale Recommendation System with Python and Spark

Talkat PyOhio 2018 · 2018-07-28..07-29· [data-engineering, machine-learning]
slides:none on file

Kroger and 84.51 deploy an ensemble recommender that combines conditional filtering (co-purchase probabilities computed with PySpark on HDFS) with category-level logistic regression with L1 regularization (scikit‑learn) to predict where customers will try something new. The pipeline uses Airflow DAGs to schedule Spark jobs, weights category sampling, and pushes results via Kafka; it handles tens of millions of accounts, hundreds of recommendations per week and processes hundreds of billions of rows. An empirical surprise: 30–40% of basket items are new within 52 weeks.

AI-written summary · about

  1. 0:00Intro
  2. 1:01NOTES
  3. 1:25CONTENTS
  4. 1:57WHAT IS 84.51?
  5. 2:54WHAT IS KROGER?
  6. 3:24SETTING THE SCENE
  7. 5:27KROGER'S (PERSONALIZED) DIGITAL PROPERTIES
  8. 6:37TOOLSET
  9. 8:10CONDITIONAL FILTERING OVERVIEW
  10. 8:52CONDITIONAL FILTERING FUNDAMENTALS
  11. 9:48CONDITIONAL FILTERING PYSPARK IMPLEMENTATION
  12. 13:10CONDITIONAL FILTERING LIMITATIONS
  13. 14:25CATEGORY TRIAL VIA MACHINE LEARNING
  14. 15:15REGRESSION WITH L1/LASSO REGULARIZATION
  15. 16:45REGRESSION EXAMPLE
  16. 17:42ENSEMBLE PART 1 - VECTOR NORMALIZATION
  17. 18:19VECTOR NORMALIZATION - EXAMPLE
  18. 18:35ENSEMBLE PART 2 - WEIGHTED SAMPLING
  19. 20:11APACHE AIRFLOW
  20. 21:02DAG LAYOUT
  21. 21:35SCHEDULING VIA PYTHON
  22. 23:21DAGS CAN GET PRETTY WILD
  23. 23:38INITIAL EXPERIENCE
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.