The Titanic problem is an introductory data science problem: given data on two thirds of the Titanic's passengers, most importantly whether each passenger survived, create a model that predicts whether an arbitrary new passenger would have survived and use it to predict survivability for the remaining third of the Titanic's passengers.
I pre-processed and post-processed the data with Python in a Jupyter Notebook, and did all my machine learning with GNU Octave. My five feature model predicts in the top 3% of all submissions.