代写FIT5196-S1-2025 Assessment 2帮做Python程序

FIT5196-S1-2025 Assessment 2

This is a group assessment and is worth 40% of your total mark for FIT5196.

Due date: Friday 23 May 2025, 11:55pm

Task 1. Data Cleansing (21/40)

For this assessment, you are required to write Python code to analyse your dataset, find and fix the problems in the data. The input and output of this task are shown below:

Table 1. The input and output of task 1

Input files

Submission

Output files

Other Deliverables

Group_dirty_data .csv

Group_outlier_da ta.csv

Group_missing_d ata.csv

branches.csv edges.csv

nodes.csv

Group_dirty_data_sol ution.csv

Group_outlier_data_s olution.csv

Group_missing_data_ solution.csv

Group_ass2_task 1.ipynb

Group_ass2_task 1.py

Note1: All files must be zipped into a file named Group_ass2.zip (please use zip not rar, 7z, tar, etc.)

Note2: Replace with your group id (do not include <>)

Note3: You can find all your input files from the folder with your group number here. Using the wrong files will result in zero marks.

Note4:  Please strictly follow the instructions in the appendix to generate the .ipynb and

.py files.

Exploring and understanding the data is one of the most important parts of the data wrangling process. You are required to perform. graphical and/or non-graphical EDA methods to understand the data first and then find the data problems. In this assessment, you have been provided with three data inputs along with 3 additional files: branches.csv, edges.csv and nodes.csv here. Due to an unexpected scenario, a portion of the data is missing or contains anomalous values. Thus, before moving to the next step in data analysis, you are required to perform the following tasks:

1. Detect and fix errors in Group_dirty_data.csv

2. Impute the missing values in Group_missing_data.csv

3. Detect and remove outlier rows in Group_outlier_data.csv

○    (w.r.t. the delivery_fee attribute only)

Project Background

As a starting point, here is what we know about the dataset in hand:

The dataset contains Food Delivery data from a restaurant in Melbourne, Australia.  The restaurant has three branches around the CBD area. All three branches share the same menu but they have different management so they operate differently.

Each instance of the data represents a single delivery order. The description of each data column is shown in Table 2.

Table 2. Description of the columns

COLUMN DESCRIPTION

order_id A unique id for each order

date The date the order was made, given in YYYY-MM-DD format

time The time the order was made, given in hh:mm:ss format

order_type A categorical attribute representing the different types of orders namely: Breakfast, Lunch or Dinner

branch_code A categorical attribute representing the branch code in which the order was made. Branch information is given in the branches.csv file.

order_items A list of tuples representing the order items: the first element of the tuple is the item ordered, and the second element is the quantity ordered for that item.

order_price A float value representing the order total price

customer_lat Latitude of the customer coming from the nodes.csv file

customer_lon Longitude of the customer coming from the nodes.csv file

customerHasloyalty? A logical variable denoting whether the customer has a loyalty card with the restaurant (1 if the customer has loyalty and 0 otherwise)

distance_to_customer_KM A float representing the shortest distance, in kilometres, between the branch and the customer nodes with respect to the nodes.csv and the edges.csv files. Dijkstra algorithm can be used to find the shortest path between two nodes in a graph. Reading materials can be found here.

delivery_fee A float representing the delivery charges of the order

Notes:

1.   The output csv files must have the exact same columns as the respective input files. Any misspelling or mismatch will lead to a malfunction of the auto-marker which will in turn lead to losing marks.

2.   In the file Group_id>_dirty_data.csv, any  row can carry no more than one anomaly. (i.e. there can only be up to one issue in a single row.)

3.  All anomalies in dirty data have one and only one possible fix.

4.   There are no data anomalies in the file Group_outlier_data.csv except for outliers. Similarly,  there  are  only  coverage  data  anomalies  (i.e.  no  other  data  anomalies)  in Group_missing_data.csv.

5.   There are three types of meals:

○    Breakfast - served during morning (8am - 12pm),

○    Lunch - served during afternoon (12:00:01pm - 4pm)

○    Dinner - served during evening (4:00:01pm - 8pm)

Each meal has a distinct set of items in the menu (ex: breakfast items can't be served during lunch or dinner and so on).

6.   In order to get the item unit price, a useful python package to solve multivariable equations is

numpy.linalg

7. Delivery fee is calculated using a different method for each branch. All branches serve Melbourne customers ONLY.

The fee depends linearly (but in different ways for each branch) on:

a.    weekend or weekday (1 or 0)

b.    time of the day (morning 0, afternoon 1, evening 2)

c.    distance between branch and customer

It is recommended to use sklearn.linear_model.LinearRegression for solving the linear model as demonstrated in the tutorials. No need to set the variables as categorical variables when modelling, just treat the discrete numbers as continuous variables.

8.   Using proper data for model training is crucial to have a good linear model (i.e. R2  score

over 0.95 and very close to 1) to validate the delivery fee. The better your model is, the more accurate your result will be.

9. If a customer has loyalty, they get a 50% discount on delivery fee

10. The  restaurant  uses  the Djikstra   algorithm to   calculate  the  shortest   distance  between customer and restaurant. (explore networkx python package for this or alternatively find a way to implement the algorithm yourself)

11. The branch and customer nodes are provided in branches.csv, edges.csv and nodes.csv at here.

12. The below columns are error-free (i.e. don’t look for any errors in dirty data for them):

order_id

time

○    the numeric quantity in order_items

delivery_fee

13. For missing data imputation, you are recommended to try all possible methods to impute

missing values and keep the most appropriate one that could provide the best performance.

14. As EDA is part of this assessment, no further information will be given publicly regarding the    data. However, you can brainstorm with the teaching team during tutorials or on the Ed forum.

15. No libraries/packages restriction.

Methodology (3/21)

The   report Group<group_id>_ass2_task1.ipynb should   demonstrate   the   methodology (including all steps) to achieve the correct results for all three files.

You need to demonstrate your solution using correct steps.

●    Your solution should be presented in a proper way including all required steps.

●    You need to select and use the appropriate Python functions for input, process and output.

●    Your   solution   should   be   an   efficient   one   without   redundant   operations   and unnecessary reading and writing the data.

Documentation (1.5/21)

The cleaning task must be explained in a well-formatted report (with appropriate sections and  subsections). Please remember that the report must explain the complete EDA to examine the data, your methodology to find the data anomalies and the suggested approach to fix those anomalies.

The report should be organised in a proper structure to present your solutions with clear and meaningful titles for sections and subsections or sub-subsection if needed.

●    Each step in your solution should be clearly described and justified. For example, you can write to explain your idea of the solution, any specific settings, and the reason for using a particular function, etc.

●    Explanation of your results including all intermediate steps is required. This can help the marking team to understand your solution and give partial marks if the final

results are not fully correct.

●    All your codes need proper (but not excessive) commenting.

Task 2: Data Reshaping (9/40)

You need to complete task 2 with the suburb_info.xlsx file ONLY. With the given property and suburb related data, you need to study the effect of different normalisation/transformation (e.g. standardisation, min-max normalisation, log, power, box-cox transformation) methods on these columns: number_of_houses,        number_of_units, population,       aus_born_perc, median_income, median_house_price. You need to observe and explain their effect assuming we want to develop a linear model to predict the “median_house_price” using the 5 attributes mentioned above.

When reshaping the data, we normally have two main criteria.

●    First, we want our features to be on the same scale; and

●    Second, we want our features to  have as much linear relationship as possible with the target variable (i.e., median_house_price).

You need to first explore the data to see if any scaling or transformation is necessary (if yes why? and  if not, also why?) and then  perform.  appropriate actions and document your results and observations. Please  note  that the aim for this task  is to prepare the data for   a  linear regression model, it’s not building the linear model. That is, you need to record all your steps from load the raw data to complete all the required transformations if any.

Input files

Submission

suburb_info.xlsx

Group_ass2_task2.ipynb

You could consider the scenario of task 2 to be an open exploratory project: Jackie and Kiara have got some funding to do an exploratory consulting project on the property market. We wish to  understand  any  interesting  insights  from  the  relevant  features  in  different  suburbs  of Melbourne. Before we step into the final linear regression modelling stage, we wish to hire you to prepare the data for us and tell us if any transformation/normalisation is required? Will those data satisfy the assumptions of linear regression? How could we make our data more suitable for the latter modelling stage.

As an exploratory task,  you only need to  put  your  journey   of  exploration  in  proper documentation in your .ipynb file, no other output file to be submitted for task 2. We will mark based on the .ipynb content for task 2.

Table3. Description of the suburb_info.xlsx file.

suburb

The suburb name, which serves as the index of the data

number_of_houses

The number of houses in the property suburb

number_of_units

The number of units in the property suburb

municipality

The municipality of the property suburb

aus_born_perc

The percentage of the Australian-born population in the property suburb

median_income

The median income of the population in the property suburb

median_house_price

The median ‘house’ price in the property suburb

population

The population in the property suburb

Documentation (1.5/9)

The cleaning task must be explained in a well-formatted report (with appropriate sections and  subsections). Please remember that the report must explain the complete EDA to examine the data, your methodology to find the data anomalies and the suggested approach to fix those

anomalies.

The report should be organised in a proper structure to present your solutions with clear and meaningful titles for sections and subsections or sub-subsection if needed.

●    Each step in your solution should be clearly described and justified. For example, you can write to explain your idea of the solution, any specific settings, and the reason for using a particular function, etc.

●    Explanation of your results including all intermediate steps is required. This can help the marking team to understand your solution and give partial marks if the final

results are not fully correct.

●    All your codes need proper (but not excessive) commenting.

Task 3: Declaration and Interview(10/40)

Input files

Submission

Declaration_GroupXXX.ipynb

Group_ass2_task3.pdf

Group_AI_Records.docx/pdf/txt

3.1 Generative AI Tools Declaration Form(Hurdle)

Task Details: For this task, all students must complete the Generative AI Tools Declaration Form and  include the following statement clearly  in the submission (either download the ipynb file provided or generate you own one):

We ___(Student Name and ID)__, the member(s) of Group _______, claim that we DO/DO NOT use any Generative AI tools to complete this assessment.

If your group used Generative AI tools, you must clearly document and attach all conversation records with these tools as part of your submission.

After completing the form, download it as a PDF and include it in the submission.

Requirement:

This task must be completed (HURDLE)

Conversation records should be all English

All conversations need to be recorde. If you are unable to download or use multiple conversations, copy and paste them into 1 single file.

Consequences of Missing Generative AI tools Declaration

Failure to submit a complete Generative AI Tools Declaration Requirement and (if

applicable) AI conversation records, will result in not meeting the hurdle requirement for Assessment 2.

3.2 Interview(10/40 + Hurdle)

There will be an interview for your A2. The aim for the interview is to check your

understanding of your entire A2 work and make sure all submissions are compliant with the academic integrity requirements of Monash.

Task Details:

Time/Date: Week 12, during your allocated Applied sessions

Form.: 1-on-1, i.e., one TA interview 1 Group


Duration: Approximate 5-10 minutes per group

●    Location: Normal location of allocated applied sessions in your Allocate+ records

Arrangement: We will provide a time schedule for every group during their

allocated session, please arrive at your allocated time slot. If you arrive earlier, please wait patiently outside the room.

●   Content: You will be asked questions related to your A2 submission (code, methodology, specific functions, etc)

Criterion: Please refer to A2 marking rubrics

Requirement:

●    Mandatory attendance (HURDLE)

●    Both members need to show and sign the attendance sheet

●    Both members need to answer questions

Consequences of Non-Attendance:

Failure to attend the presentation or inability to satisfactorily demonstrate your work will  result in not meeting the hurdle requirements for Assignment A2. Consequently, you will receive ZERO for Assessment 2.

The following excuses will not be accepted:

●    Forget to come to the applied session

●    Forget to prepare for the interview, i.e. forget your own solution

Too limited time to answer the questions properly

●    Be too nervous to talk in English thus not properly answering the questions

●    Direct use online resources without proper reference and do not understand the

submitted work


热门主题

课程名

mktg2509 csci 2600 38170 lng302 csse3010 phas3226 77938 arch1162 engn4536/engn6536 acx5903 comp151101 phl245 cse12 comp9312 stat3016/6016 phas0038 comp2140 6qqmb312 xjco3011 rest0005 ematm0051 5qqmn219 lubs5062m eee8155 cege0100 eap033 artd1109 mat246 etc3430 ecmm462 mis102 inft6800 ddes9903 comp6521 comp9517 comp3331/9331 comp4337 comp6008 comp9414 bu.231.790.81 man00150m csb352h math1041 eengm4100 isys1002 08 6057cem mktg3504 mthm036 mtrx1701 mth3241 eeee3086 cmp-7038b cmp-7000a ints4010 econ2151 infs5710 fins5516 fin3309 fins5510 gsoe9340 math2007 math2036 soee5010 mark3088 infs3605 elec9714 comp2271 ma214 comp2211 infs3604 600426 sit254 acct3091 bbt405 msin0116 com107/com113 mark5826 sit120 comp9021 eco2101 eeen40700 cs253 ece3114 ecmm447 chns3000 math377 itd102 comp9444 comp(2041|9044) econ0060 econ7230 mgt001371 ecs-323 cs6250 mgdi60012 mdia2012 comm221001 comm5000 ma1008 engl642 econ241 com333 math367 mis201 nbs-7041x meek16104 econ2003 comm1190 mbas902 comp-1027 dpst1091 comp7315 eppd1033 m06 ee3025 msci231 bb113/bbs1063 fc709 comp3425 comp9417 econ42915 cb9101 math1102e chme0017 fc307 mkt60104 5522usst litr1-uc6201.200 ee1102 cosc2803 math39512 omp9727 int2067/int5051 bsb151 mgt253 fc021 babs2202 mis2002s phya21 18-213 cege0012 mdia1002 math38032 mech5125 07 cisc102 mgx3110 cs240 11175 fin3020s eco3420 ictten622 comp9727 cpt111 de114102d mgm320h5s bafi1019 math21112 efim20036 mn-3503 fins5568 110.807 bcpm000028 info6030 bma0092 bcpm0054 math20212 ce335 cs365 cenv6141 ftec5580 math2010 ec3450 comm1170 ecmt1010 csci-ua.0480-003 econ12-200 ib3960 ectb60h3f cs247—assignment tk3163 ics3u ib3j80 comp20008 comp9334 eppd1063 acct2343 cct109 isys1055/3412 math350-real math2014 eec180 stat141b econ2101 msinm014/msing014/msing014b fit2004 comp643 bu1002 cm2030
联系我们
EMail: 99515681@qq.com
QQ: 99515681
留学生作业帮-留学生的知心伴侣!
工作时间:08:00-21:00
python代写
微信客服:codinghelp
站长地图