There are many interesting use cases for Supervised Machine Learning. To name a few: prediction of the effectiveness of medical treatments, prediction of the exchange rates of foreign currencies, diagnosing Parkinson's disease just by listening to the voice of a patient, face recognition, recommendation of the news that are expected to be most interesting to a given user, etc. Choose one that motivates you and implement a solution using a Supervised Machine Learning algorithm of your choice.
- Input requirement: capacity to read a dataset stored on disk.
- Output requirement: report quality metrics of the Machine Learning model.
- Output requirement: output estimations corresponding to test instances.
- The software must be able to learn a model from a supervised dataset.
- The software must be able to use the learned model to estimate the target value of problem instances.
- The software must be able to compute a quality metric of the learned model.
- Use Python as programming language.
- Use Pandas for reading the dataset into a pandas dataframe.
- Use Scikit-learn for training and testing the Machine Learning model.
- Github repo: it's gonna contain your presentation, README (including a link to your Trello board), and your Jupyter notebooks.
- Report containing quality metrics, and explanation of the dataset, and the experimental procedure (whether a single split was performed, or cross-validation, etc.).
- Find an interesting dataset! Look in the Useful Resources section for sources of ideas.
- Break down the project into smaller tasks, for instance: importing the dataset, training, etc.
- Decide whether you will create a single Python application or several Python applications.
If you get stuck at some stage of the project, and you cannot find a way out, you can try this:
- Nothing you are asked to do in this project is new, you have examples of all the ingredients you need in the previous lessons. Go back to the previous lessons and review the procedure used there to move on.
- Think at a level higher than the details of the problem, at the methodology level, and identify on what stage of the methodology you are stuck, and rephrase for yourself the reason why you are stuck, and why the solutions presented in the examples of the previous lessons are not helping you to find a solution.
- Check with your peers whether they got stuck at the same point, and what they did to move on.
- Consult with your instructor.
Tuesday-Wednesday 16:59h
- Think about a topic and propose some questions.
- Choose data that is relevant to your questions.
- Look for documentation to give context to your project.
- Write the README file in your repository.
- DO NOT START CODING
NO CODE UNTIL HERE
Wednesday 17:00h
- Mock presentation.
Thursday-Friday
- Pre analysis of the data and machine learning.
- Train and evaluate different models.
- Prepare a draft of your first slides presentation (no analysis or conclusions yet): title, motivation, context, ...
Monday 9:30h
- Mock presentation. Take the feedback and use it!
Monday and Tuesday
- Improve your model.
- Finish the analysis. Finish the slides.
Tuesday 17:00h
- Mock presentation. Take the feedback and use it!
Wednesday morning
- Presentation!
Presentations for this project will be in the classroom! Presentations will be EXACTLY 5 minutes long, with 2 additional minutes for questions. We will stop you!
After the presentations, the audience will evaluate you by indicating how well they understood what you were trying to present and how you presented it. This information will help you in further presentations!
- University of California at Irvine's Machine Learning Repository
- OpenML datasets
- Kaggle datasets
