The k-nearest neighbours classifier is a classic machine learning algorithm. We'll use functional languages to implement a classifier, then use it with real-world public data sets to solve classification problems.
Once you've implemented and explored the algorithm, there are many details you can dive deeper on. How does your algorithm perform on larger data sets, and can you speed it up? How about plugging in different distance functions? If you're already an ML expert, you can look at a more advanced algorithm and compare performance with the kNN implementations.
The k-nearest neighbours classifier is a classic machine learning algorithm. We'll use functional languages to implement a classifier, then use it with real-world public data sets to solve classification problems.
A suggested worksheet is available at https://github.com/defshef/dojo-knn
Once you've implemented and explored the algorithm, there are many details you can dive deeper on. How does your algorithm perform on larger data sets, and can you speed it up? How about plugging in different distance functions? If you're already an ML expert, you can look at a more advanced algorithm and compare performance with the kNN implementations.