Evaluate an MLP Neural Network to Classify Track as Real or Fake - SPRACE/track-ml GitHub Wiki

The objective of this experiment is to evaluate an MLP Neural Network Topology to classify tracks as Real or Fake. In this sense, we decided to train the network with a set of tracks and evaluate the accuracy with a different set of tracks. We carried out this experiments in the following way:

1) We created one set of 10000 real tracks from file /data/trackMLDB/analysis/train_4_realv3 (for training):

head -n 10000 /data/trackMLDB/analysis/train_4_realv3 > /data/ds4

2) We created six different sets of fake tracks using (Create_fake_tracks.py) (for training):

python Create_fake_tracks.py /data/ds4

3) We created one set of 10000 real tracks from file /data/trackMLDB/analysis/train_5_realv3 (for validation):

head -n 10000 /data/trackMLDB/analysis/train_5_realv3 > /data/ds5

4) We created six different sets of fake tracks using (Create_fake_tracks.py) (for validation):

python Create_fake_tracks.py /data/ds5

5) We trained the MLP NN (classify-Tracks.py) with 6 datasets (Real+fake) created

The accuracy were similar across all datasets

python classify-Tracks.py /data/DStotal0.005
python classify-Tracks.py /data/DStotal0.01 
python classify-Tracks.py /data/DStotalV20.01 
python classify-Tracks.py /data/DStotalV20.01 
python classify-Tracks.py /data/DStotal0.01 
python classify-Tracks.py /data/DStotalV20.01 

6) Evaluate the NN using a dataset unused in training phase (predict.py)

python predict.py /data/DStotal0.005T4
  • Evaluation in a different dataset 99.40%

  • Predicting all the tracks of dataset unused in training phase achieved an accuracy of ~ 98%

real correctly classified=9550

real incorrectly classified=7

fake correctly classified=9886

fake incorrectly classified=356