关键词 > FIT5212

FIT5212 - Assignment 2

发布时间:2024-05-22

Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

FIT5212 - Assignment 2

Marks

Worth 100 marks, and 25% of all marks for the unit

Due date

Week 12 Lecture Date, 11:55 pm

Extension

An extension could be granted under some circumstances. A special consideration application form must be submitted. Please refer to the university webpage for special consideration.

Lateness

For all assessment items handed in after the official due date, and without an agreed extension, a 10% penalty applies to the student’s mark for each day after the due date (including weekends) for up to 7 days. Assessment items handed in after 7 days without special consideration will not be considered.

Authorship

This is an individual assessment. All work must be your own. All submissions will be placed through Turnitin. This makes plagiarism remarkably easy to identify for us.

Submission

Submission is 4 files:

● one CSV file (for predictions),

● one PDF discussion report (including discussions),

● one Jupyter notebook,

● one PDF generated directly from the Jupyter Notebook without cell output for the whole assessment.

The files must be submitted via Moodle. All files will go through Turnitin for plagiarism detection.

Programming Language

Python in Jupyter Notebook

Task 1: Recommender System Challenge

Description:

You are required to complete a FIT5212-specific challenge in Kaggle

https://www.kaggle.com/t/669b003cc29046398e6a3642308d0273

The data was collected by crawling the Amazon website and contains product metadata and review information about 219,859 different products.

The user-item interaction data is the main data for this challenge. This data is further split into training and test sets.

●    train.csv. The training dataset contains a set of user_item ratings between users and items. The users explicitly rated the items that they interacted with between 1 to 5.

●    test.csv. Each user is provided with a list of items in the test dataset, for each user, you will need to predict the ratings for all the items in their list.

The train dataset contains the following information:

●    ID: an arbitrary ID for a row (does not contain any information)

●    user_id: the id assigned to each user

●    product_id: the id assigned to each product

●    product_name: the name of the product

●    rating: the explicit rating of a specific product_id by a user_id ranging from 1 to 5

●    votes: the number of votes for a particular rating

●    helpful_votes: the number of people that found the rating helpful

Example: The row below shows that the user with ID "1813" gave a rating of "5" to the product with  ID "154533". The product is titled "Beautiful Thing". This rating received 10 votes, and 8 out of those 10 people found the rating helpful.

The test dataset contains the following information:

●    ID: an arbitrary ID for a row (does not contain any information). Avoid making any changes to this column as it is the main identifier when we mark your submission.

●    user_id: the id assigned to each user

●    product_id: the id assigned to each product

●    product_name: the name of the product

Your task is to develop a recommender system by training it on the provided train set. Once the system is trained, you will use it to generate predicted ratings for each user-item pair present in the test set.

Submission:

For every user-item pair in the test set, you need to provide a predicted rating. The submission file should contain only two columns: ID and rating.

The file should contain a header and have the following format:

Requirements:

1.   Participate in the challenge and make your submission. The maximum submission in Kaggle is 10 submissions per day.

2.   This is an individual assignment. You have to finish it on your own.

3.   In addition to the challenge, you have to finish a report on this challenge and submit it to Moodle.

Submission:

To Kaggle

●    Kaggle submission, you need to submit your predictions on the test dataset on Kaggle.

To Moodle:

1.  A csv file, “studentID.csv”.  Please  replace student ID with your own student ID. The content should be the same as the best prediction file you have submitted to Kaggle. This file should be submitted i  Moodle. We will double-check the files you have submitted to Kaggle and Moodle. If the two files are not the same (i.e., the file submitted to Moodle cannot get the same score in Kaggle), your result is invalid, and you will fail the assignment.

2.  A jupyter notebook, “code_studentID.ipynb” . This notebook contains the code for Task 1. The notebook should be self-contained. If a third-party package is used, this package should be a well-known package and easy to install (e.g., install within a single command). This notebook should include both codes and outputs so that we can read and mark them.

3.  A pdf file, “code_stduentID.pdf”. This pdf is generated by cleaning all the output in the Jupyter Notebook and exporting it as a pdf file. This pdf will be passed in Turnitin for plagiarism check.

4.  A pdf report, “report_stduentID.pdf”. This pdf contains a more detailed analysis of the work. This file should show how you finished the task. Ideally, you should show what sort of algorithms you  have considered, what  kind of information you have used, and the reason for your choice of the corresponding algorithm to achieve the results you submitted to Kaggle. Comparison for different algorithms should be included in this pdf report. And detailed analysis of the results is encouraged. If you have used other algorithms/packages which are not covered in this unit, you should give a brief introduction to that algorithm/package. We expect the length of this report to be between 8 to 10 pages excluding references. This pdf will be passed in Turnitin for plagiarism check.

Marking:

The Kaggle leaderboard only shows your scores on 50% of the test data. Your final score will be marked based on your CSV file submitted to Moodle for the whole test dataset.

●   The methodology and report are set to 50% marks and the prediction score accounts for 50%  marks. So please prepare a good report and clearly describe your method to achieve the marks.

See the marking rubric on Moodle for more details.