Implementations of various machine learning algorithms