Reference no: EM13935336
1. In this question, we are going to build a neural network (NN) classifier to predict red wine quality (represented by an integer ranging from 0 to 10, higher means better) using a set of chemical properties. These properties are presented as attributes below: fixed acidity, volatile acidity, citric acid, residual sugar, chlorides, free sulfur dioxide, total sulfur dioxide, density, pH, sulphates, alcohol
The last attribute quality is the class label. Download the program "DataSplit2.exe" and execute it. Enter your student ID and specify the locations of the dataset file and the destination folder. The dataset will be split for you by clicking the "OK" button. Note that your training and testing datasets are unique to others. Make sure you enter the student ID correctly.
a. Show your training and testing datasets. Only the first 20 rows of each dataset are required in your answer.
b. Load both datasets into the MATLAB worksp Download the program "DataSplit2.exe" and execute it. Enter your student ID and specify the locations of the dataset file and the destination folder. The dataset will be split for you by clicking the "OK" button. Note that your training and testing datasets are unique to others. Make sure you enter the student ID correctly.
a. Show your training and testing datasets. Only the first 20 rows of each dataset are required in your answer.
b. Load both datasets into the MATLAB workspace. It is recommended to separate the class label (i.e. the attribute quality) from other attributes such that all the class labels of a dataset are stored in a matrix. As a result, there are four matrices after the import process, two for the attribute values from the two datasets, and the other two for the class labels from these datasets.
The class labels require encoding before they can be used for training and evaluating the NN classifier. Since there are 11 distinct class values (0 - 10), each class label is encoded into a column vector of 11 × 1. For a class value k, the k + 1 th row of the column vector is set to 1, while the others are zero. For example, if the class label is 4, then it is encoded into a column vector:
Therefore, if the dataset has N samples, then the class labels are encoded into an 11 × N matrix.
Show only the encoded class labels for the last 20 samples of both the training and testing datasets, i.e. two 11× 20 matrices.
c. The NN classifier is created using the following parameters:
Number of hidden layers: 1
Number of neurons: 10
Use default settings for other parameters. Train the classifier using the training dataset. Show the training performance by pasting the performance curve in your
answer.
Hint: Check carefully the dimension arrangement of the NN classifier, i.e. whether it considers a row or a column as a tuple.
d. Use the NN classifier to predict the qualities of the samples in the testing dataset. Show only the predicted class labels for the first 20 rows of the testing dataset.
e. Obtain and show the confusion matrix. What is the accuracy of the classifier?
Please submit your MATLAB source codes (in MATLAB script file) with the assignment answer. No marks will be given to your answer unless the relevant source codes are submitted.
2. We are going to mine some association rules from the supermarket transactions using WEKA.
a. Download the program "TransactionDataGenerator.exe" and execute it. Enter your student ID and specify the location of destination folder. The dataset will be generated for you by clicking the "OK" button. A transaction file will then be generated in CSV format. Each line row represents a single transaction, the first item is the transaction ID and the others are the goods bought by the customer.
Show only the first 20 lines (transactions) of your transaction file.
b. The transaction file generated must be converted to an attribute format (see appendix) that can be imported to WEKA. For example, a transaction file consists of five transactions as follows:
T001, jam
T002, bread, jam
T003, bread, butter
T004, jam
T005, bread The converted format is shown below:
t_id bread butter jam
T001 t
T002 t t
T003 t t
T004 t
T005 t
The converted transactions can be saved in CSV format. The content of the above converted format in CSV is like this: tid,bread,butter,jam
T001,,,t
T002,t,,t
T003,t,t,
T004,,,t
T005,t,,
Write a conversion program for this task. The list of all items is available at the Appendix. Show only the last 20 converted transactions.
Hints:
i. Since the transactions consist of different number of items, it is recommended to read the whole transaction as a string, i.e. all the N
transactions are put in an N × 1 cell array. You may find functions such as
textscan or importdata useful.
ii. Following (i), it is then necessary to separate the transactions Id and every item in a single transaction. The delimiter is a comma (","). You may find the regular expression function regexp useful.
iii. A transaction schema (i.e. all possible transaction items in the header line of the above converted format) is needed. You transactions might not cover all the items, but this does not affect the final results.
iv. The transaction schema should be implemented as an array in your source codes. Also, the item order in the array should be identical to the item order in the header line. This helps determining which column to put a ‘t' label for a transaction. You may find the function ismember useful.
c. Mine the association rules from the transactions using WEKA. Specify which algorithm you select and the related parameters such as minimum support and confidence. List the best 10 rules discovered with highest possible support and
confidence.
For Q2(b), please submit your source codes (using MATLAB or other languages) with the assignment answer.