CSCI 447
Machine Learning
Spring 2019

Montana Technological University
Computer Science & Software Engineering



ASSIGNMENT 3

The goal of this assignment is to get the experience of coding a neural network. Due date is Sun. 3/10/19, midnight. If you encounter problems, again, let me know. You can use the numpy library, but I expect you to write your own code for the neural network, and not use any toolkit libraries.


1: Transform the graduate admissions data so that the output variable is binary - accept or reject.
This is the same as what you did for logistic regression in our last assignment. If you still have that data, you may use it. If not, if you use 0.73 as the cutoff value between accept and reject, you will get close to a 50/50 split between the two classifications.

2: Write a neural network for the graduate admissions data.
Use python in a Jupyter notebook to do this. Please use a local machine to do this since I don't have AWS issues worked out yet. As with your regression assignment, the graduate admissions data has 7 independent variables (ignoring the serial number "feature") and 1 dependent/output variable. There are 500 observations. When running your neural network with the data, you should again divide the dataset into training and testing sets.

The output of this should be a prediction of accept or reject. Measure accuracy as the number correct over the total number in the test set. (Later on we will talk about different ways to look at accuracy and performance.)

As you write your code, please use the Jupyter notebook capability of "commenting" sections of your code to explain the intent of each step.


Submission: Please submit the .ipynb file(s) and transformed graduate admissions data file to the Moodle dropbox for Assignment 3. I would like you to do this one on a local machine until I get the AWS stuff straightened out (or not straightened out...).



Page last updated: March 08, 2019