首页 >
> 详细

INFS4203/7203 Assignment

Semester 2/2019

Marks: 100 marks (20%)

Due Date: 11th October 2019, 23:59

What to Submit: See deliverables part

Where to Submit: Electronic submission via blackboard

The goal of this project is to gain practical experience in applying clustering and

classification to real data. You must work on this project individually. The

standard academic honesty rules apply. You must use R for this project.

There are three main tasks: Data Preparation, Clustering, and Classification.

Please read the report carefully until the end. Since some parts of your code

require a random seed, you need to pre-set the seed for reproducible results. Your

seed value is the first 2 digits of your student ID. (For example: If your student ID

is 12345678 then the seed value will be = 12).

Dataset:

You will be using the “ILPD (Indian Liver Patient Dataset) Data Set” data1

. The

data has 583 observations (rows) and 11 attributes (columns). The attribute in the

last column is a binary class variable with value 1 for “patient” and 2 for

“non_patient”. You may find and learn more detailed information about the data in

the data description page2

1 Data Folder: https://archive.ics.uci.edu/ml/machine-learning-databases/00225/ .

2 Data Description:

https://archive.ics.uci.edu/ml/datasets/ILPD+(Indian+Liver+Patient+Dataset)

Task 1 - Data Preparation:

Write the necessary code to pre-process the data. That pre-processing stage

includes the following tasks:

1.1. Extract the data into an R data frame.

1.2. Assign the following names to the 11 different columns in your dataset

Column Number Column Name Meaning

1 Age Age of the patient

2 Gender Gender of the patient

3 TB Total Bilirubin

4 DB Direct Bilirubin

5 Alkphos Alkaline Phosphotase

6 Sgpt Alamine Aminotransferase

7 Sgot Aspartate Aminotransferase

8 TP Total Protiens

9 Albumin Albumin

10 AG_Ratio Albumin and Globulin Ratio

11 Class Indicator for patient and non_patient

1.3. There are some missing values in the column AG_RATIO, fill them with the

median of the column.

1.4. Replace all “2” in the “class” column with “0” to indicate “non_patient”.

1.5. Notice that R might define the Class column as integer. In that case, change

its type from integer to factor.

1.6. Save the dataframe into a file with filename ilpd_processed.Rda.

Task 2 - Clustering:

Apply K-Means and Hierarchical clustering to cluster the data as follows.

2.1. Load the preprocessed data file from Task 1 into a data frame. Please note

that in Task 2, we exclude Age, Gender, AG_Ratio, and Class attributes in this

task since they are in different units from the others.

2.2. Rescale the values of every column to the range of (0,1). Reference link3

.

2.3. Cluster the data into 2 clusters (i.e. k = 2) using K-Means clustering using

the default parameters for the function. Plot the results of the

clusters as a 2D plot where the x-axis is Alkphos and the y-axis is TP.

2.4. Plot another 2D plot with the same dimensions above, but color the points

according to the Class column.

2.5. Compare the 2 plots obtained in the previous two tasks (tasks 2.3. and 2.4.)

– do the clusters visually represent the vs classes?

2.6. Cluster the data into more than 2 clusters (i.e., k = 3, 4, 5) using K-Means

clustering and plot all the clustering results.

2.7. Compare the plots and Sum of Squared Error (SSE) obtained in the

previous task and provide your comments on the quality of clustering.

2.8. Apply hierarchical clustering to the data using the function with

default parameters and plot the corresponding dendrogram. Particularly,

cluster the dendrogram into 2, 3, 4, and 5 clusters and plot all of them.

2.9. Compare the plots obtained in the tasks 2.3., 2.4., 2.6. and 2.8. and provide

your observations on the achieved clusters - should we have a new subtype

of diseases?

2.10. Try different agglomeration methods in hierarchical clustering (i.e.,

). Plot the resulting dendrograms

and provide your comments on the quality of clustering - is the data

sensitive to the used agglomeration method? Based on your results, what

do you think is the default agglomeration method used in Task 2.8.?

3 https://stackoverflow.com/a/15468888/6350054

Task 3 - Classification:

Apply binary classification using decision tree and K-NN techniques.

3.1. Load the preprocessed data file from Task 1 into data frame. Divide the

dataset into “training” and “test” subsets randomly (70% and 30%

respectively). We use all attributes in Task 3.

3.2. Learn a classification tree from the training data using the default

parameters of the function from the library. Plot that

classification tree and provide your comments on its structure (e.g., what

are the important/unimportant variables? Is there any knowledge we can

infer from the tree representation that helps in differentiating between the

classes?). Using the learned tree, predict the class labels of the test data.

Calculate the accuracy, precision, and recall.

3.3. Try building your classification tree again via the function but using

parameters that are different from the default settings. Can you achieve

better accuracy or more meaningful representation by tuning some

parameters? (Note that in the function from library, you can

modifiy parameters. Execute form RStudio Console for

the detailed documentation.)

3.4 Apply K-NN classification to predict the labels in the test subset and

calculate the accuracy, precision and recall. Particularly, try different values

of K (e.g. K = 1, 2, 3, 4, 5), and report your observations on the achieved

classification.

Deliverables: R project with your student number as the project’s name (e.g.

12345678.Rproj). The project should have the following folders and files inside the

folders:

1) Folder - Code:

● : Code to complete Task 1.

● : Code to complete Task 2.

● : Code to complete Task 3.

Provide the appropriate header in each file (your identity and file description) and

give meaningful comments in the script.

2) Folder - Data:

● : orgininal dataset.

● : preprocessed data output from Task 1.

3) Folder - Plot:

● All plots in jpg format generated in Tasks 2.3., 2.4., 2.6., 2.8., 2.10.,

3.2. and 3.3.

4) Report: your report should include the following:

● Brief description for the main functions in your source code and any

assumptions or special settings of those functions.

● Plots, evaluations, and your comments on the observed results.

Please note that your preprocessed data, plots, and results should be

reproducible. That is, we can delete them and be able to generate them by running

your code. Hence, remember to set the seed before any function that requires a

random value. That seed is the first 2 digits of your student number.

Marking: Your total mark earned for this assignment is based on:

● Report: accurate statistics and clear presentation;

● Code and reproducible results.

● Demo: one-on-one demo presentation, if needed.

Submit one archive (zip) file with your student number as the file name (e.g.

12345678.zip) with all the files and folders mentioned above. The project is due

11th October 2019, 23:59. The submission is done through the BlackBoard and no late submission is allowed.

联系我们

- QQ：99515681
- 邮箱：99515681@qq.com
- 工作时间：8:00-23:00
- 微信：codinghelp

- Jit104留学生作业代做、代写it Systems作业、代做sql语言作业 2019-11-13
- 代做stat 3675Q作业、代写statistical课程作业、代做r程序 2019-11-13
- Csc 360作业代写、代做operating Systems作业、代写py 2019-11-13
- 代写cpt120留学生作业、代写programming课程作业、Java程序 2019-11-13
- Comp9444作业代做、Python程序设计作业调试、Python语言作业 2019-11-13
- 代做cs1026留学生作业、Analysis课程作业代写、代写python语 2019-11-13
- Lp002留学生作业代做、代写data Structures作业、代写jav 2019-11-13
- 代写comp 250作业、代做java编程设计作业、代写kdtree课程作业 2019-11-13
- Cmt107留学生作业代做、代写informatics课程作业、代做java 2019-11-12
- Econometrics作业代做、代写statistics课程作业、R程序语 2019-11-12
- 代做dataset课程作业、代写statistical Model作业、Py 2019-11-12
- 代写in1900留学生作业、代写python编程语言作业、Python实验作 2019-11-12
- Gv900留学生作业代写、代做r程序设计作业、代写r语言作业、Dataset 2019-11-12
- Cs255留学生作业代做、代写python语言作业、Timetabling作 2019-11-12
- 代做comp7510作业、Programming课程作业代写、Python， 2019-11-12
- 代写math1041作业、代做r程序语言作业、Moodle留学生作业代写、代 2019-11-12
- Comp3331作业代做、代写computer Networks作业、代做j 2019-11-12
- 代写stock Market作业、R编程设计作业代做、代写r语言作业、Dat 2019-11-11
- Cse130-01作业代做、代写c++实验作业、C/C++编程语言作业代做、 2019-11-11
- 代做module留学生作业、代写python程序设计作业、代做python语 2019-11-10