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 |
---|---|---|---|
Classification | Deepfake detection | Machine learning based medical image deepfake detection: A comparative study | Link |
Classification | Handling Imbalanced data in Classification | A Statistical Approach to Cost-Sensitive AdaBoost for Imbalanced Data Classification | Link |
Classification | Fake news Detection | A Heuristic-driven Ensemble Framework for COVID-19 Fake News Detection | Link |
Classification | Gender Prediction from First Name | Predicting Gender by First Name Using Character-level Machine Learning | Link |
Classification | Heart disease prediction | Supervised Machine Learning-Based Cardiovascular Disease Analysis and Prediction | Link |
Classification | Text classification | Classifying Textual Data with Pre-trained Vision Models through Transfer Learning and Data Transformations | Link |
Classification | Image Classification | Integrated Image Sensor and Light Convolutional Neural Network for Image Classification | Link |
Classification | Gender Recognition from Hands | 11K Hands: Gender recognition and biometric identification using a large dataset of hand images | Link |
Classification | Image Classification | In defense of Nearest-Neighbor based image classification | Link |
Classification | Breast Cancer Prediction | Using Machine Learning Algorithms for Breast Cancer Risk Prediction and Diagnosis | Link |
Classification | Fraud detection | Financial Fraud Detection in Healthcare Using Machine Learning and Deep Learning Techniques | Link |
Classification | Fraud detection | Credit Card Fraud Detection using Machine Learning: A Study | Link |
Classification | Loan Approval Prediction | An Approach for Prediction of Loan Approval using Machine Learning Algorithm | Link |
Classification | Patient Health Prediction | COVID-19 Patient Health Prediction Using Boosted Random Forest Algorithm | Link |
Classification | Plant Disease Classification | Deep learning for image-based cassava disease detection | Link |
Classification | Plant Disease Classification | Using deep learning for image-based plant disease detection | Link |
Classification | Plant Disease Classification | A robust deep-learning-based detector for real-time tomato plant diseases and pests recognition | Link |
Classification | Malware Detection | Towards Building an Intelligent Anti-Malware System: A Deep Learning Approach using Support Vector Machine (SVM) for Malware Classification | Link |
Classification | Fault Detection | Rotating Machinery Fault Detection Using Support Vector Machine via Feature Ranking | Link |
Regression | Prediction of Graduate Admissions | A Comparison of Regression Models for Prediction of Graduate Admissions | Link |
Regression | Air pollutantion Prediction | Short-Term Air Quality Prediction Based on Fractional Grey Linear Regression and Support Vector Machine | Link |
Regression | Supply-Demand Prediction w. Deep learning | DeepSD: Supply-Demand Prediction for Online Car-Hailing Services Using Deep Neural Networks | Link |
Regression | Stock Market Prediction | A Machine Learning Model for Stock Market Prediction | Link |
Regression | Solar Energy Estimation | Forecasting Solar Energy Production Using Machine Learning | Link |
Regression | Taxi Trip Duration Prediction | New York City taxi trip duration prediction using MLP and XGBoost | Link |
Regression | Sales Prediction | Predictive Analysis for Big Mart Sales Using Machine Learning Algorithms | Link |
Regression | Life Expectancy Prediction | Age and life expectancy clocks based on machine learning analysis of mouse frailty | Link |
Unsupervised Learning | Anomaly Detection | Deep Unsupervised Anomaly Detection | Link |
Unsupervised Learning | Deep Clustering for Unsupervised Learning of Visual Features | Deep Clustering for Unsupervised Learning of Visual Features | Link |
Computer Vision | Transfer Learning | Unsupervised machine learning via transfer learning and k-means clustering to classify materials image data | Link |
Computer Vision | Face Detection | Fine-grained face annotation using deep Multi-Task CNN | Link |
Computer Vision | Image Captioning | Image Captioning in the Wild: How People Caption Images on Flickr | Link |
Computer Vision | Object Detection | Face Mask Detection | Link |
Computer Vision | FMRI Tumor Classification | Scientific Reports (MRI Brain Tumor Classification) | Link |
Computer Vision | FMRI Tumor Classification | Scientific Reports (MRI Brain Tumor Classification) | Link |
Computer Vision | Object Detection | Vehicle Classification in Low-Res Images | Link |
Bonus Points
You are encouraged to enter the following Kaggle competition on “House Prices” prediction.
The deadline to submit your final results is Khordad 30, 1404. You can get upto 12 bonus points on your final grade (out of 100).
As for the bonus points, here’s how they are allocated:
1 points: Each indivdiual with a successful entry
2 points: The best notebook among classmates in terms of comments, graphs, readability, etc. (The judge of that will be the teaching team ;) )
Points on scoring compared to class-mates:
- 3 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:
- 5 Points: result scored among top 200 contestants
- 3 Points: result scored among top 500 contestants
- 2 Points: result scored among top 1000 contestants
- 1 Points: result scored among top 2500 contestants
IMPORTANT: It is ok to use others’ notebooks as inspiration. BUT, if you use other peoples notebooks, make sure to cite them. AND in order to get the above points, you need to make sure that you have made sufficent innovations in the code. Otherwise, only the 2 points for entering the competitions will be awarded.
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, 30 points is dedicated to the final presentation, broken down as follows:
- 15 from the teaching staff
- 12 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(s):
- 45 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.
- 25 Points on the first progress report:
- 5 points: explaining the problem at hand and its importance
- 5 points: previous work
- 5 points: the approach you have selected
- 5 points: comparison of different algorithms
-
5 points: results (so far) and how they compare to other approaches/algorithms
- Clear and informative visualizatins help here a lot
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):