I recently discovered data science practice problems on Analytics Vidhya. These allow you access to simple datasets on which to practice your machine learning skills and benchmark yourself against others. I think they offer a great introduction to approaching these problems before perhaps moving onto something a bit more challenging such as Kaggle competitions.
This post gives a brief introduction to each of the three types of machine learning. There are many other steps involved in all of these processes including feature engineering, data processing and hyperparameter optimisation to determine both the best data preprocessing techniques and the best models to use. Machine learning problems can generally be divided into three types. Classification and regression, which are known as supervised learning and unsupervised learning, which in the context of machine learning applications often refers to clustering.
The python programming language has a large number of both built-in functions and libraries for data analysis. Combining some of these libraries can produce very powerful methods of summarising, describing and filtering large amounts of data. This article shares some tips on how to combine pandas, matplotlib and some built-in python functionality to very quickly analyse a dataset. All the methods described can be extended to create much richer and more complex analyses.