The assignment

Construct a simple multilayer neural network for the counterfeit banknote problem we did last term.

The CSV file with the banknote data set is available here.

What to do

The banknote classification problem is a simple classification problem with two classes, 0 and 1, so your neural network should use a two unit output layer to do the classification. Since the input data set only has four features, you should first try constructing a neural network with a single hidden layer with four nodes. If you can not get acceptible performance from this network, try a network with two hidden layers instead.

As always, you should start by doing a train/test split on the data set. Train your network with the training data and then evaluate its performance on the test set. You may also find it useful to pass the data set through a standard scaler at the start.

Since TensorFlow uses NumPy arrays to provide values to the input nodes, and you most likely will be using pandas to read the data in the CSV file, you will need to know how to get a NumPy array from a pandas dataframe. The following syntax does that:

arr = df.values

What to turn in

Put the code for your project into a single Python source code file and email me that file as an attachment.

This assignment is due by the start of class on Tuesday, April 17.