Functional Programming for Machine Learning and Data Pipelines
summary
Argument: functional programming plus a strong type system reduces implementation bugs and makes ML code reusable. Concrete tools shown: Scala type classes and a custom data type class to write algorithms that work on Scala collections and Spark RDDs; Breeze/Spire for numeric vectors. Demonstrations: implementations of k-means and k-nearest neighbors using sparse feature vectors on the 20 Newsgroups set; a live kNN classifier runs but yields only ~12% accuracy in the quick demo. Code and slides are linked from the uploader.
AI-written summary · about
chapters (8)
- 0:00Introduction and motivation
- 3:31Why correctness matters
- 7:29Functional programming primer
- 11:50Machine learning basics
- 18:52Type systems in ML
- 23:11Type classes for ML
- 29:37Classic ML problems
- 37:23Live demo and conclusion
related talks
59mFunctional Programming for Machine Learning Panel
21mFP for Data Science For Loops Considered Harmful
43mFunctional Big Data
57mThe Fun of Functional Programming Panel
44mFunctional Programming You Already Know
28mFunctional Linear Algebra in Scala
47mPlain Functional Programming
47mKeeping the fun in Apache Spark Datasets and FP
