The aim of this thesis is to compare effectiveness of batch and streaming machine learning algorithms; in particular focusing on different implementations of the same algorithms. A literature was reviewed in order to find other research in on this topic. Based on that, experiments checking scalability, learning time and effectiveness were developed and carried out. It was found out, that streaming algorithms usually learn much faster while maintaining almost same prediction results as their batch counterparts. However, learning time difference can strongly depend on different datasets being used; sometimes batch algorithms get better time results for some types of datasets.