Final Project
For the course’s final project, you have two options
- Select a paper and reproduce their results
- Work on a problem you like
We also have a 15 bonus points on the final project’s grade. Find out more at the bottom of this page.
Important Notes:
- 20% of the project grade is for the final presentation.
- The projects should be done individually.
- Please finalize your choice by 30 Mehr 1401.
Working on a Problem of Your Own
If you have a particular problem/dataset in mind, please send us an email with your proposal. Once it is approved, you can start ahead and work on the project.
Reproducing the Result of a Paper
For the first option, you can select a paper and then reproduce their results. Please go find 3 candidate papers and share them with us and we finalize one together.
- If you could not find a proper paper, we will provide a list of suggested options and you can select from them in the second half of Mehr.
List of suggested papers
Type | Goal | Paper Title | Link |
---|---|---|---|
Generative adversarial networks | Deepfake detection | Machine learning based medical image deepfake detection: A comparative study | Link |
Clustering | Patient stratification | Accounting for diverse feature-types improves patient stratification on tabular clinical datasets | Link |
Classification, Adaptive Boosting | address the problem of imbalanced data in classification | A Statistical Approach to Cost-Sensitive AdaBoost for Imbalanced Data Classification | Link |
Ensemble, Classification | detection of fake news related to COVID-19 on social media | A Heuristic-driven Ensemble Framework for COVID-19 Fake News Detection | Link |
NLP, Classification, Deep learning | predicting an individual’s gender based on their first name | Predicting Gender by First Name Using Character-level Machine Learning | Link |
Deep learning, Explainable AI | development of robust vision pipelines using XAI | A novel application of XAI in squinting models: A position paper | Link |
Supervised Machine learning | predicting heart disease using ML algorithms | Supervised Machine Learning-Based Cardiovascular Disease Analysis and Prediction | Link |
NLP, Transfer learning | explore a novel approach to text classification | Classifying Textual Data with Pre-trained Vision Models through Transfer Learning and Data Transformations | Link |
CNN, Image classification | develop an efficient CNN | Integrated Image Sensor and Light Convolutional Neural Network for Image Classification | Link |
CNN, Classification | Using CNN for gender recognition | 11K Hands: Gender recognition and biometric identification using a large dataset of hand images | Link |
Supply-Demand Prediction, Deep learning | predicting real-time car-hailing supply-demand | DeepSD: Supply-Demand Prediction for Online Car-Hailing Services Using Deep Neural Networks | Link |
Image classification | non-parametric Nearest-Neighbor based image classification | In defense of Nearest-Neighbor based image classification | Link |
Classification | breast cancer classification | Using Machine Learning Algorithms for Breast Cancer Risk Prediction and Diagnosis | Link |
Deep convolutional neural network, Classification | recognizing handwritten Bangla digits | Bangla handwritten digit recognition using autoencoder and deep convolutional neural network | Link |
Stock Market Prediction | predicting stock market prices | A Machine Learning Model for Stock Market Prediction | Link |
Fraud detection, Machine learning models, Deep learning | detecting credit card fraud efficiently | Financial Fraud Detection in Healthcare Using Machine Learning and Deep Learning Techniques | Link |
Regression | predict daily air pollutants | Short-Term Air Quality Prediction Based on Fractional Grey Linear Regression and Support Vector Machine | Link |
Ensmble Models | enhancing solar energy prediction using a hybrid model integrating ML and statistics | Forecasting Solar Energy Production Using Machine Learning | Link |
Classification | improving breast cancer recognition accuracy | Breast Cancer Identification Using Machine Learning | Link |
Deep learning, Classification | classifying human activities | Human activity classification using deep learning based on 3D motion feature | Link |
Bonus Points
You can also enter a competetion on Kaggle (which will be introduced later on).
Here’s how the points are allocated:
- 2 points: Each indivdiual with a successful entry
- Points on scoring compared to class-mates:
- 5 Points: best result among class mates
- 2 Points: second-best result among class mates
- 1 Points: third-best result among class mates
- Points on scoring compared to other contestants:
- 8 Points: result scored among top 100 contestants
- 5 Points: result scored among top 300 contestants
- 3 Points: result scored among top 500 contestants
- 1 Points: result scored among top 1000 contestants
Project's Presentation
Part of the final project is presenting your work in the class.
- You’ll have 15 minutes to present your project (excluding Q&A)
- The presentation should be done in the form of slides, prepared by Powerpoint, Google Slides, Keynote, PDF, etc. In other words, you are free to choose the tool you use to prepare slides, but they need to be well-structured.
- Therefore, handwritten notes or photos of handwritten slides do not qualify ;)
Grading
As mentioned above, from the 100 points for the final project, 20 points is dedicated to the final presentation, broken down as follows:
- 10 from the teaching staff
- 7 from other classmates: we will conduct a poll at the end of each presentation and get feedback from your classmates.
- 3 bonus points: participating in grading other classmate’s presentation and giving them feedback
The criteria for grading the presentations are as follows:
- 30% on Structure (i.e. form):
- Punctuality: you have 15 minutes to present you work. Starting and finishing on time is crucial.
- Structure: your presentation should have a title page, table of contents, main body and a conclusion.
- Looks: please choose proper font type, font size, colors (for fonts, images, background, etc.). Presentations are among the few places that looks matter ;)
- Conveying information/Story telling: no matter what you present, your goal is to convey some knowledge or information to your audience. In fact, the presentation is for your audience, as you know already what you want to say! So the more your audience understand your points, the closer you have gotten to your ultimate goal. So don’t take this part lightly :)
- References: whatever you use from external resources (table/image/text/…) please make sure to put a reference in the slide or in the end of your presentation
- 70% on the Content:
- The problem: please clearly explain the problem you have worked on.
- Its importance: tell us why this is an important problem (and the great things that could happen if it is solved!)
- Previous work on the topic: briefly review what others have done on this topic
- Your approach: now that we are ready, explain what approach you (or the paper you are trying to reproduce) used to tackle the problem
- Results: share the results you’ve achieved with us and your intuition about them
- Conclusion and future work: summarize your achievements and maybe share some of the challenges ahead with the class
By the way a lot of these points also apply in writing scientific papers or business proposals ;)
Some Resources to Help You
Many think that presentation is actually an art, through which you can dazzle your audience, and a good presenter is an artist (think of Steve Jobs for instance).
Here are some external resources to hopefully help you (and me of course!) to master this art:
- 6 Tips for Mastering the Art of Presentation Skills
- Susan McConnell (Stanford): Designing effective scientific presentations (Video)
- The Art Of Making A Brilliant Presentation
- How to Make a Good PowerPoint Presentation (Tips from HubSpot’s marketing team)
- Some sample presentation (scroll down to see them)
- I admit, some of them are really overkill for a class project. But they are good to get inspired.
- Ted talks are also a great place to find interesting ideas, facts AND learn presentation skills from the msters!
- Some of these influential talks are gathered here.
- There are some bad examples as well! This link gathered several examples, with tips on how to avoid them or improve the slides.
These were only a few suggestions. Feel free to search for other resources and share your findings with us :)
Project's Report and Notebook
The other important part of final project is its report and notebook.
- You must submit your compiled notebook (Google Colab/Jupyter notebook) by Sunday, 10 Bahman 1400, 23:59 Tehran Time.
- The notebook should be well-commented and have lots of explanation about what different blocks of code do and why a particular algorithm/library is used.
- You must clearly show that you have understood the algorithms you have used and not just copy-pasted them to achieve the results. So please take this part seriously.
- In other words, having learned the path towards achieving the paper/project’s objective is as important (if not more important) as accomplishing the objective itself!
- You need to submit a report as part of your final project as well.
- This report can be a separate PDF file, or it can be integrated within the notebook itself
- The report should contain suffcient information about the whole project, and it shoudl especially cover the following parts:
- Explaining the problem at hand
- Why the problem is important
- Previous work on the topic (mentioned in the paper or something you have encountered in the past)
- The approach you have used in the project (and the reason behind it) to solve the problem (or reproduce the resuults of the problem)
- Results of running the algorithm, and how it compares to other approaches or previous work
- Conclusions and future work
- In essence, think of the project’s report as a mini-paper
- In fact, I strongly encourage writing the report in English and as a separate PDF file, as you can extend it later to a full paper and submit it for peer review if you were interested.
- Do not forget to provide reference to any piece of code, text, image, etc. that you reuse in your project.
Grading
As mentioned above, from the 100 points for the final project, 70 points is dedicated to the final notebook and report:
- 50 Points on the notebook:
- 15 points: notebook running correctly and without a bug
- 20 points: sufficient comments that clearly explains what each code block does, and that you have mastered the code you have used in the notebook
- 15 points: the results of the algorithm are correct, i.e. the code correctly reproduces the paper it is based on or if it is a personal project, the results are in line with project’s definition and objectives.
- 30 Points on the two progress reports.
- For the first report:
- 5 points: explaining the problem at hand and its importance
- 5 points: previous work
- 5 points: the approach you have selected
- For the second report:
- 5 points: comparison of different algorithms
- 10 points: results and how they compare to other approaches/algorithms
- Clear and informative visualizatins help here a lot
- For the first report:
Some Resources to Help You
Like presentation, wiring a clear and informative report/paper/article is considered an art by many.
Here are some resources to hopefully help all of us to master this art:
- How to Write an Effective Project Report in 7 Steps
- How to Write Good Academic Papers: Easy Guide for Beginners
- A guide to writing an academic paper
- Example of an Academic Paper in Graduate School
Additionally, here are some examples of nice notebook/code examples (the codes themselves are not relevenat, but how the notebooks are structured overall might be helpful):