Java Python Applied Data Science (MAST30034) 2024
An End-to-End Data Science Project
Due date: Monday 19th of August 11:59 pm
Project Weight: 30%
Project Overview
This project aims to make a quantitative analysis of the New York City Taxi and Limousine Service Trip Record Data. The dataset covers trips taken in various types of taxi and for-hire vehicle services in the New York City area. The data in parquet format is directly downloadable from here, with corresponding usage guide linked here. You will need to choose a minimum of 6 months if working with PySpark or 3 months if working with pandas from 2016 or later (ensure your data includes Zones, not coordinates). PySpark is the expectation here; ensure you have obtained permission from your tutor to use pandas.
Students will be required to prepare a self-contained report which must be 6-8 pages including figures, excluding references, and written using LaTeX. Please do not submit any other format written in Word or Google Docs, we are expecting a compiled pdf written in LaTeX. There are no exceptions.
Project Expectations
Please refer to the Canvas Subject Overview for expectations and further information.
We understand that the page limit is strict and quite short. This project aims to get students to be able to concisely summarise information professionally. This is because the results of Project 1 will be used to allocate which project student groups get for Project 2 (Industry Project).
Lastly, we know that the best way to learn new tools is to use and apply them in a project, consider this to be “the project” . Please try your best, the tutor team will be here to support you where possible. Sample solutions will be released at the start of Week 2.
Note: Students in prior years have often found themselves underestimating the time commitment required for this project. Be sure to start it ASAP; you should aim to have all of the results by the start of Week 4, so you can spend the remaining time writing.
Project Assumptions
• Students are free to choose any software, language, or package that is deemed useful to complete this project, although it is strongly recommended that Python and PySpark be used.
• A LaTeX report template will be provided and students are not allowed to change the margins or font size. Students who prepare their document templates will be required to add margin commands to adhere to the requirements. Otherwise, there will be penalties. We have been very clear here so do not submit any other document that was not written up in LaTeX.
• Students must maintain a GitHub repository with an appropriate and documented README. md file. A template repository has been provided for your benefit under Canvas → Modules → Project 1 Links → Templates via GitHub Classrooms.
• Students have the freedom of choice to select their timeline to analyze, the type of Licensed Taxi you wish to focus on (i.e Yellow vs Green Taxi, Taxi vs For-Hire Vehicles), and the choice of attributes for their area of study. Once again, make sure the time frame chosen is 2016 onward.
• Students should use any external datasets which are deemed sufficiently relevant to support the analysis and attributes of the study.
• The timeline and dataset must be sufficiently “large” and justified to support your research goal. Students may subsample the data when visualizing or fitting a model (you must state and justify this in the report or you will be penalised), but, must use the full distribution when analyzing the distribution, aggregating attributes, or performing outlier analysis.
Report Format
The report must be between 6-8 pages (including figures, excluding references, written in LaTeX), covering at least, but not limited to, the following items:
• First and foremost, there should be no code present in the report. Please see the sample solutions for examples.
• Identify the taxi datasets, external datasets, attributes, dataset shape, data timeline, target audience, and relevant research goal. Clear and convincing justification is required for each point.
• Outline the high-level methodology and preprocessing for visualization and statistical modelling for the research goal. We will be reading your code for the detailed preprocessing steps, so make sure you include comments, docstrings, and markdown cells so it is readable even to a five year old child.
• Preliminary data analysis with interpretation and discussion.
• A modelling section with at least two contrasting models and approaches with relevant and correct evaluation metrics.
• Make practical and realistic recommendations based on the final results for the identified audience. Recommendations must be supported by the analysis completed in the report and should not be generic. For example:
◦ “Taxi drivers can earn more money by taking more trips” is not a good example.
◦ “Taxi drivers should aim to work their shifts at the airport during the day as we saw in our analysis above. This is due to XYZ and ABC reasons. . . ” is a good example.
• Tables and figures should be referenced where appropriate. Here are some examples:
◦ “From (Figure 3) we can see . . . ”
◦ “. . . the Gini Impurity Metric [3] suggests that . . . ”
◦ “(Table 3) shows the . . . ”
• Ensure that figures are reasonably placed and readable, as ineligible figures or tables will be ignored.
◦ If you look at the image in the report and it looks squashed, blurry, or hard to read, do not add it in. If you cannot read it, we cannot either.
◦ If the font size is too small we will ignore it.
• Less is more, choose the information you present carefully. Irrelevant information will make the report hard to follow and lead to significant reductions in marks.
• Finally, the report should be proofread several times before submission to minimise grammatical and spelling errors. You have a plethora of online tools available, as long as you do not plagiarise we are okay.
The LaTeX template is available via Overleaf or found under Canvas → Modules → Project 1 Links → Templates. You can download the source code and upload the main . tex to Overleaf or copy the project under Menu → Actions → Copy Project (located top left corner) on Overleaf. If you wish to use your LaTeX template, ensure your margins and document class adhere to our requirements by adding the following commands:
• \documentclass[11pt]{article}
• \usepackage[top=0.9in, left=0.9in, bottom=0.9in, right=0.9in]{geometry}
GitHub Requirement
The GitHub repository template is available via GitHub Classrooms or found under Canvas → Modules → Project 1 Links → Repo Template. You must use GitHub Classrooms and not your own personal repository.
All repositories will be cloned, executed (run), and referred to during marking, so please ensure the code is reproducible and readable. For example, if a student uses Python and uses external libraries, then a requirements . txt for a pip installation should be provided, such that anyone can run the command, install the packages, and run the code without errors. If you are unsure about this, search it up and follow a guide or ask your tutor. Repositories that fail to run will incur a penalty.
Hurdle Requirement
There is a hurdle requirement for you to submit a working GitHub repository and report. We have provided a template GitHub and LaTeX report for your benefit. Please ensure you do not leave this until the last minute to sort out as the submission deadline is strict.
Assessment
This project is worth 30% of your final grade with the following requirements:
1. If no external dataset is used OR the student has chosen an insufficient dataset size, then the maximum number of marks is capped at 22.5/30 marks.
◦ For example, if a student achieved 28/30 overall without meeting the requirements, their mark will be reduced to a maximum of 22.5/30.
◦ If for some very unexpected reason you are unable to parse more than 6 months of data with PySpark (or 3 months with pandas), you must let us know in advance via
email with your reasoning.
◦ We will provide a JupyterHub server to students with insufficient resources in a first-in, best-dressed manner.
2. If the chosen external datasets are relevant, justified, and used to complement the research goal, then full marks are awarded.
◦ Some Applied Data Science (MAST30034) 2024Python examples of suitable external datasets may be ongoing sports events, protests, weather forecasts (such as the impact of snow), vehicle crashes, etc.
◦ There are several sources and some may require web scraping or direct contact with the owner of the dataset. It is up to students to choose and find one.
Strictly speaking, more marks will be available for students who perform additional analysis, with the highest marks available for students who perform. exceptional analysis by drawing upon several external resources.
Marking Scheme
This is an approximate marking scheme. Students who just “tick the boxes” will not get full marks. We have provided this to be transparent on the marking process and expectations.
Introduction (4 marks)
• 1 mark for an interesting introduction to the problem. The first sentence is very important here, make sure that it is concise, precise, and engaging.
• Good discussion of data set timeline (0.5 marks); taxi type (0.5 marks); features of interest (0.5 marks); target audience (0.5 marks).
• Must have convincing justification for each of the choices made above.
◦ As part of this assessment, it is your job to convince us that your choice is correct and valid, not the other way around.
◦ No marks will be awarded if there is a lack of convincing justification. Please come up with a good reason even if you do not believe in it as it is critical that you can convince us that your choices are correct.
◦ If you are using an external dataset, you must also clearly specify the details and provide a link to the dataset as a reference.
◦ All assumptions about the dataset or business rules must be introduced and stated in the Introduction.
• 1 mark for detailing the high-level overview of your methodology. Essentially, a “TLDR” of your contribution. It is on you to be clear and specify all details, not on us to infer it and connect the dots. More detail is better than less here.
Preprocessing (3 marks)
• 1.5 marks each for the taxi dataset and another external dataset (maybe more than one, but will be marked as one), suitably conveying the high-level preprocessing steps in dot points. Remember, keep it short and concise and only list out the important stuff.
◦ If you are filtering, removing, or joining datasets, you must specify the dataset shape at each step. You will lose 0.5 mark if you do not do this. This will be verified with your code.
◦ If you are removing records, you must justify and explain it or you will be penalised. For example, if you are removing all credit card payments because you are analysing tipping, then cite the business rule from the provided Data Dictionary and TLC Website.
Analysis and Geospatial Visualisation (5 marks)
• 5 marks in total for analysis of the attribute(s) related to your area of study. You should carefully consider the story you want to tell and the relevancy of the presented information. For instance, if your main message is that pickup locations play important roles in taxi drivers’ overall revenue, then presenting analysis about only tips is irrelevant and a poor choice. Ensure you justify every step taken for full marks. Your report will need to include the following aspects:
◦ 1.5 marks for outlier analysis, discussion of the distribution, relevant imputations for NULL values, and summarised findings of interest for your chosen attribute(s).
◦ 1.5 marks for describing the important relationship(s) present between attribute(s) of “interest” . You may consider interaction for this part.
◦ 2 marks for discussion, particularly, if a certain visualization raises an “interesting” area for further analysis or results in the lack of anything “interesting” for further analysis.
◦ Hint: For analysis and discussion, you should try following a “From (Figure X) we can see ABC, therefore DEF, perhaps because of XYZ” formula. We don’t need students to explain the obvious, we are interested in reading your analysis and reasoning.
Statistical Modelling (5 marks)
• 1 mark for clearly specifying and justifying at least two chosen models with your chosen input and output attribute(s).
◦ List out your assumptions and ensure the attribute(s) you have chosen are suitable.
◦ Be very careful with the attributes i.e continuous vs ordinal vs categorical. Ensure your model is suitable. We will penalise incorrect usage of features.
◦ If your model or algorithm was covered in a subject listed in the Subject Overview, you only need to reference and state it. Otherwise, please provide a brief introduction to your model with appropriate references.
◦ Predictions should use future data (i.e using 2018 to predict 2019) i.e do not use something like k-fold Cross Validation across 2019 and 2020 on a random shuffle.
• 4 marks for analyzing their area of research by combining the findings from two models.
◦ 2 marks for analysis and/or comparison of models. This can be done through proper model refinement, feature selection, error analysis, model evaluation, or any suitable technique.
◦ 2 marks for interpretation and discussion of the model for your study goal. If you conduct predictions, you should discuss their implications here.
◦ Hint: We are not interested in hearing about your model improving accuracy by a few percent. We want to hear how your model is going to support your target audience. For example, a taxi driver is not going to care about a Neural Network that predicts tipping. A taxi driver will however, be interested in a model that tells them where to go for more money.
Recommendations (4 marks)
• 4 marks for at least two sound recommendations for your target audience with the supporting evidence from previous sections.
◦ 2 marks each: 1 mark for the recommendation, and 1 mark for a good justification / explanation.
◦ Be sure to combine the findings of your analysis and model to give recommendations.
◦ Recommendations should be practical and not generic. If it does not make sense in real life to implement the recommendation, do not recommend it.
◦ Generic recommendations that can be inferred using common sense will receive no marks. You have done hard work and analysis, make sure to use those findings to
back your recommendations!
Report Writing and Code (9 marks)
• 2 marks for figures and tables with appropriate font size, figure sizes, choice of colour, etc.
• 5 marks for being able to convey the ideas and analysis (i.e through the use of correct and consistent grammar, spelling, citations, references, and report structure). Please proofread and use online tools to make sure your report is of high quality.
• 1 mark for quality code that runs without any issues and is maintained in aneat repository.
• 1 mark for excellent and readable code (i.e markdown cells, in-line comments, good variable names, docstrings for functions, reasonably adheres to PEP8 pylint or flake8).
This will be assessed especially for the preprocessing and modelling steps.
Possible Additions (Maximum of +2 marks, capped at 32/30)
There will also be certain areas of possible additions for outstanding reports:
• Exceptionally well-written reports that make the reader go “damn that’s actually good” .
• Recommendations and/or analyses that are realistic and feasible to deliver and be considered for production.
• Outstanding visualizations that are consistently great throughout the report.
• High code quality and readability that makes it easy to understand and run with no issues.
Possible Deductions (Maximum of -3 marks, capped at 0/30)
There will also be certain areas of possible deductions depending on the issues found:
• Insufficient quality of report writing (i.e the flow of the report was verbose or confusing, difficult-to-read sections, etc).
• Incorrect logic or breach of a business rule that has been stated in the Data Dictionaries and TLC Website.
• Overly verbose paragraphs in report and code.
• Insufficient commenting and detail in code for preprocessing and modelling sections.
• Figure sizes that are far too small.
• Significantly difficult-to-read code.
If you would like feedback on your code or report, please ask your tutor at the end of the tutorial during question time.
Submission Details
• Report submissions must be made via Turnitin on Canvas in PDF format written using LaTeX. We will not be accepting and marking any other format.
• Your final code must be in the GitHub repository and hyperlinked in the report. Any submission without a GitHub link will fail this component.
• Late submissions will incura deduction of 10% (3 marks) per 24 hours past the submission deadline. If you submit late, you must email the head tutor with your reason