The term machine learning targets a box of methods and approaches which do different things.
The place to start with are two questions, which are connected:
- What do I want? (such as Clustering, Regression, Classification)
Do you wish to estimate a target property such as a class of an image (house or human) or how much another customer will like a new movie x (such as netflix does) ? You can check kaggle both for pratice datasets as well as for real applications and competitions in machine learning.
- What do I have? (Supervised vs Unsupervised Learning)
What you want to do is restricted by what you have. If you have labels or target variables, you can use methods from supervised learning, whereas otherwise you will use methods from unsupervised learning. Yet in most real applications you will probably combine both such as dimensionality reduction as a first step using PCA (unsupervised) and then classification (supervised).
As long as you are not familiar with these keywords (which are very basic, there is more to know later), you might want to read a great introduction into the topic: "Pattern Recognition and Machine Learning" by Bishop, which is available online as pdf
Regarding libraries: Specifically for python there is a great library: scikit learn. This library does also contain a lot of examples and explanation in its documentation, yet I do recommend to actually read (parts of) the book by Bishop first.
Regarding your specific problem, you will have to break it down and translate it to terms of statistics and machine learning, enabling you to use the existing methods. There are no premade solutions, but rather exisiting libraries which provide implementations of most relevant algorithms which you will want to combine to create your own application/solution.