To run program : python3 MLP.py [train|test]
(Requires python3 or it crashes)
The data set was generated using sklearn.datasets.make_multilabel_classification
function which creates an integral inputs with binary outputs indicating which classes the data point comes from. I modified this by dividing all the input data points by the number 17.0, the maximum integer in the inputs since the sample data given to us by Professor Sable were all decimal points and not integers. Initial weights were generated by a uniform distribution in the range [0, 1).
Contains:
krishna.train
, the training setkrishna.test
, the testing setkrishna.init
, the initial weights filekrishna.trained
, the trained weights file after 1000 epochs and 0.01 learning rate with 25 nodes in the hidden layer. Leads to around 75% overall accuracy, which I considered reasonablekrishna.results
, the test set evaluation results for running network on data fromkrishna.test
with weights fromkrishna.trained