Scala DSL for ML Training Set Stratification
summary
A Scala DSL for user training-set stratification runs on Apache Spark and expresses targets as counts or percentages, expands rules like country.each, and uses a linear-programming backend via the third-party Scala library optimist. It formulates constraints, supports reference distributions and an allowed error margin, and typically solves real examples in seconds (one demo reduces 1.6M rows to 1.26M to meet a 70/30 target with a small error in about 27s).
AI-written summary · about
chapters (10)
- 0:00Introduction and motivation
- 3:46ML pipeline and Scala benefits
- 5:33Why stratification is needed
- 7:42DSL building blocks explained
- 10:17Target counts and percentages
- 12:26Error margin and reference distributions
- 13:49Linear programming approach
- 15:36Live demo in Zeppelin notebook
- 17:39Complex queries and performance
- 18:24Q&A and closing
related talks
39mMachine Learning with Scala on Spark
42mScala: The Unpredicted Lingua Franca for Data Science
50mApache Spark vs Machine Learning
44mApache Spark and ML workflows
33mScala DSLs and Probabilistic Programming
47mScala: The Unpredicted Lingua Franca for Data Science
47mScala: The Unpredicted Lingua Franca for Data Science
39mA full Machine learning pipeline in Scikit-learn vs in scala-Spark: pros and cons
