Various machine learning algorithms written for practice