Python代写 | COSC 2670/2738 Assignment 2

Practical Data Science with Python
COSC 2670/2738
Assignment 2
Assessment Type Individual
Due Date 23:59, the 7th of June
Marks 50
Assignment Teams
Please read all the following information before attempting your assignment.
This is an individual assignment. You may not collude with any other people, or plagiarise
their work. Each student is expected to present the results of his/her own thinking and
writing. Never copy other student’s work (even if they “explain it to you first”) and
never give your written work to others. Keep any conversation high-level and never show
your solution to others. Never copy from the Web or any other resource. Remember you
are meant to generate the solution to the questions by yourself. Suspected collusion or
plagiarism will be dealt with according to RMIT policy.
In the submission (your PDF file) you will be required to certify that the submitted
solution represents your own work only by agreeing to the following statement:
I certify that this is all my own original work. If I took any parts from
elsewhere, then they were non-essential parts of the assignment, and they
are clearly attributed in my submission. I will show we I agree to this
honor code by typing “Yes”:
A sample format for this requirement is provided, and please find it in Canvas − >
Assignments − > Assignment2.
This assignment focuses on data modelling, a core step in the data science process. You
will need to develop and implement appropriate steps, in IPython, to complete the corresponding tasks.
This assignment is intended to give you practical experience with the typical 5th and
6th steps of the data science process: data modelling, and presentation and automation.
The “Practical Data Science” Canvas contains further announcements and a discussion board for this assignment. Please be sure to check these on a regular basis – it
is your responsibility to stay informed with regards to any announcements or changes.
Login through
Coding Environment
Please develop your code by using Anaconda (with Python 3 or above version).
Academic integrity and plagiarism (standard warning)
Academic integrity is about honest presentation of your academic work. It means acknowledging the work of others while developing your own insights, knowledge and ideas.
You should take extreme care that you have:
• Acknowledged words, data, diagrams, models, frameworks and/or ideas of others
you have quoted (i.e. directly copied), summarised, paraphrased, discussed or mentioned in your assessment through the appropriate referencing methods
• Provided a reference list of the publication details so your reader can locate the
source if necessary. This includes material taken from Internet sites. If you do not
acknowledge the sources of your material, you may be accused of plagiarism because
you have passed off the work and ideas of another person without appropriate
referencing, as if they were your own.
RMIT University treats plagiarism as a very serious offence constituting misconduct.
Plagiarism covers a variety of inappropriate behaviours, including:
• Failure to properly document a source
• Copyright material from the internet or databases
• Collusion between students
For further information on our policies and procedures, please refer to the following:
General Requirements
This section contains information about the general requirements that your assignment
must meet. Please read all requirements carefully before you start.
• You must do all modelling in IPython.
• You must include a plain text file called “readme.txt” with your submission. This
file should include your name and student ID, and instructions for how to execute
your submitted script files. This is important as automation is part of the 6th step
of data science process, and will be assessed strictly.
• Parts of this assignment will include a written report, this must be in PDF format.
• Please ensure that your submission follows the file naming rules specified in the
tasks below. File names are case sensitive, i.e. if it is specified that the file name is
gryphon, then that is exactly the file name you should submit; Gryphon, GRYPHON,
griffin, and anything else but gryphon will be rejected.
Task 1: Retrieving and Preparing the Data (5%)
This assignment will focus on data modelling, and you can choose to focus on one approach: Classification or Clustering.
For this assignment, you need to select one dataset from the following options, and
then work on it:
1. Activity Recognition from Single Chest-Mounted Accelerometer Data Set. More
details can be found from the following UCI webpage about this dataset:
2. BLE RSSI Dataset for Indoor localization and Navigation Data Set. More details
can be found from the following UCI webpage about this dataset (Please just use
the labeled dataset, and ignore the unlabeled dataset):
3. Mice Protein Expression Data Set. More details can be found from the following
UCI webpage about this dataset (This dataset is provided in xls format, and please
covert it to csv format by using Microsoft Excel, which can be obtained from RMIT
Being a careful data scientist, you know that it is vital to set the goal of the project,
then thoroughly pre-process any available data (each attribute) before starting to
analyse and model it. In your report in Task 4, You need to clearly state the goal of your
project, and the design/steps of pre-processing your data. Please ensure you understand
the data you selected, including the meaning of each attribute.
Task 2: Data Exploration (10%)
Explore the selected data, carrying out the following tasks:
• Explore each column (or at least 10 columns if there are more than 10 columns),
using appropriate descriptive statistics and graphs (if appropriate). For each explored column, please think carefully and report in your report in Task 4): 1) the
way you used to explore a column (e.g. the graph); 2) what you can observe from
the way you used to explore it.
(Please format each graph carefully, and use it in your final report. You need to
include appropriate labels on the x-axis and y-axis, a title, and a legend. The fonts
should be sized for good readability. Components of the graphs should be coloured
appropriately, if applicable.)
• Explore the relationship between all pairs of attributes (or at least 10 pairs of attributes, if there are more in the data), and show the relationship in an appropriate
graphs. You may choose which pairs of columns to focus on, but you need to generate a visualisation graph for each pair of attributes. Each of the attribute pair
should address a plausible hypothesis for the data concerned. In your report,
for each plot (pair of attributes), state the hypothesis that you are investigating.
Then, briefly discuss any interesting relationships (or lack of relationships) that you
can observe from your visualisation.
Please note you do not need to put all the graphs in your report, and you only need
to include the representative ones and/or those showing significant information.
Task 3: Data Modelling (15%)
Model the data by treating it as either a Classification or Clustering Task, depending
on your choice.
You must use two different models (i.e. two Classification models, or two Clustering
models), and when building each model, it must include the following steps:
• Select the appropriate features
• Select the appropriate model (e.g. DecisionT ree for classification) from sklearn.
• If you choose to do a Classification Task,
– Train and evaluate the model appropriately.
– Train the model by selecting the appropriate values for each parameter in the
model. You need to show how you choose this values, and justify why you
choose it.
• If you choose to do a Clustering Task,
– Train the model by selecting appropriate values for each parameter in the
∗ Show how do you choose this value, and justify why you choose it (for
example, k in the k-means model).
– Determine the optimal number of clusters, and justify
– Evaluate the performance of the clustering model by:
∗ Checking the clustering results against the true observation labels
∗ Constructing a “confusion matrix” to analyse the meaning of each cluster
by looking at the majority of observations in the cluster. (You can do this
by using a pen and a piece of paper, as we did in Practical Exercise; if
you prefer, you can also explore how to do this step directly in IPython.)
After you have built two Classification models, or two Clustering models, on your
data, the next step is to compare the models. You need to include the results of this
comparison, including a recommendation of which model should be used, in your report
(see next section).
Task 4: Report (15%)
Write your report and save it in a file called report.pdf, and it must be in PDF format,
and must be at most 12 (in single column format) pages (including figures and
references) with a font size between 10 and 12 points Penalties will apply if the
report does not satisfy the requirement. Remember to clearly cite any sources (including
books, research papers, course notes, etc.) that you referred to while designing aspects
of your programs.
Your report must have the following structure:
• A cover page, including
– Statement of the solution representing your own work as required
– Title
– Author Information
– Affiliations
– Contact details
– Date of report
• Table of Content
• An abstract/executive summary
• Introduction
• Methodology
• Results
• Discussion
• Conclusion
• References
Please revisit the relevant slides in Week1 lecture if needed.
Task 5: Presentation (5%)
• The presentation should
– explain the goal of the project.
– briefly describe your chosen data set.
– describe the data preparation steps.
– state the hypotheses/questions that you were investigating.
– explain what the modelling steps are, and what the results are.
– show the final conclusion and recommendation.
• Your presentation slides should be:
– Microsoft PowerPoint slides (with audio inserted for each slide by using: Insert
− > Audio − > Record Audio).
– or you can create your own presentation slides (e.g. PDF version) and please
submit your own recording of your presentation as well.
What to Submit, When, and How
The assignment is due at
23:59, the 7th of June.
Assignments submitted after this time will be subject to standard late submission penalties.
The following files should be submitted:
• Notebook file containing your python commands, ‘Assignment2.ipynb’.
# For the notebook files, please make sure to clean them and remove any unnecessary
lines of code (cells). Follow these steps before submission:
1. Main menu → Kernel → Restart & Run All
2. Wait till you see the output displayed properly. You should see all the data
printed and graphs displayed.
• Your report.pdf file at most 12 (in single column format) pages (including
figures and references) with a font size between 10 and 12 points.
• Your presentation slides and the oral audio presentation as required in Task 5.
• The “readme.txt”: includes your name and student ID, and instructions for how to
execute your submitted script files.
They must be submitted as ONE single zip file, named as your student number (for
example, if your student ID are s1234567). The zip file must be submitted
in Canvas:
Assignments/Assignment 2.
Please do NOT submit other unnecessary files.