This repository contains a collection of algorithms developed while attending the Foundations of Data Science course at RWTH Aachen University. All algorithms are written in Python.
- Perceptron: An algorithm for training a binary classifier using a single layer neural network.
- k-Nearest Neighbour: A non-parametric method for classification or regression based on nearest neighbors.
- Weighted Majority (deterministic): An algorithm for making predictions based on a weighted majority of expert opinions.
- Weighted Majority (randomised): A randomized version of the Weighted Majority algorithm.
- Sleeping Experts: An algorithm for making predictions based on a subset of expert opinions.
- Flajolet Martin: An algorithm for estimating the number of distinct elements in a stream.
- Simple Sample: An algorithm for randomly sampling a stream of elements.
- Reservoir Sample: An algorithm for randomly sampling a stream of elements with uniform probability.