In [4]:
# Required modules
import scipy as sp
import numpy as np
import pandas as pd
import matplotlib
import matplotlib.pyplot as plt
import IPython
import sklearn
import graphviz
import sys
print("Python Version: {}".format(sys.version))
print("Pandas Version: {}".format(pd.__version__))
print("matplotlib Version: {}".format(matplotlib.__version__))
print("NumPy Version: {}".format(np.__version__))
print("SciPy Version: {}".format(sp.__version__))
print("IPython Version: {}".format(IPython.__version__))
print("Scikit-learn Version: {}".format(sklearn.__version__))
print("graphviz Version: {}".format(graphviz.__version__))
In [2]:
# Constant parameters given by the DySpan PU setup
DELAY_1 = 0.005 # tau1
DELAY_2 = 0.01 # tau2
TCONST = 0.002
MEAN1 = 0.02 # lambda1
MEAN2 = 0.01 # lambda2
MEAN3 = 0.005 # lambda3
N_CHAN = 4 # Number of channels
N_SCN = 10 # Number of scenarios
In [3]:
# save the recorded data in variables
# interframe time per channel
# Scenario 0
if_time_ch1_scn_0 = sp.fromfile(open("../../data/feature_extraction/interframe_time_ch_1_scn_0.dat"),
dtype=sp.float32)
if_time_ch2_scn_0 = sp.fromfile(open("../../data/feature_extraction/interframe_time_ch_2_scn_0.dat"),
dtype=sp.float32)
if_time_ch3_scn_0 = sp.fromfile(open("../../data/feature_extraction/interframe_time_ch_3_scn_0.dat"),
dtype=sp.float32)
if_time_ch4_scn_0 = sp.fromfile(open("../../data/feature_extraction/interframe_time_ch_4_scn_0.dat"),
dtype=sp.float32)
# Scenario 1
if_time_ch1_scn_1 = sp.fromfile(open("../../data/feature_extraction/interframe_time_ch_1_scn_1.dat"),
dtype=sp.float32)
if_time_ch2_scn_1 = sp.fromfile(open("../../data/feature_extraction/interframe_time_ch_2_scn_1.dat"),
dtype=sp.float32)
if_time_ch3_scn_1 = sp.fromfile(open("../../data/feature_extraction/interframe_time_ch_3_scn_1.dat"),
dtype=sp.float32)
if_time_ch4_scn_1 = sp.fromfile(open("../../data/feature_extraction/interframe_time_ch_4_scn_1.dat"),
dtype=sp.float32)
# Scenario 2
if_time_ch1_scn_2 = sp.fromfile(open("../../data/feature_extraction/interframe_time_ch_1_scn_2.dat"),
dtype=sp.float32)
if_time_ch2_scn_2 = sp.fromfile(open("../../data/feature_extraction/interframe_time_ch_2_scn_2.dat"),
dtype=sp.float32)
if_time_ch3_scn_2 = sp.fromfile(open("../../data/feature_extraction/interframe_time_ch_3_scn_2.dat"),
dtype=sp.float32)
if_time_ch4_scn_2 = sp.fromfile(open("../../data/feature_extraction/interframe_time_ch_4_scn_2.dat"),
dtype=sp.float32)
# Scenario 3
if_time_ch1_scn_3 = sp.fromfile(open("../../data/feature_extraction/interframe_time_ch_1_scn_3.dat"),
dtype=sp.float32)
if_time_ch2_scn_3 = sp.fromfile(open("../../data/feature_extraction/interframe_time_ch_2_scn_3.dat"),
dtype=sp.float32)
if_time_ch3_scn_3 = sp.fromfile(open("../../data/feature_extraction/interframe_time_ch_3_scn_3.dat"),
dtype=sp.float32)
if_time_ch4_scn_3 = sp.fromfile(open("../../data/feature_extraction/interframe_time_ch_4_scn_3.dat"),
dtype=sp.float32)
# Scenario 4
if_time_ch1_scn_4 = sp.fromfile(open("../../data/feature_extraction/interframe_time_ch_1_scn_4.dat"),
dtype=sp.float32)
if_time_ch2_scn_4 = sp.fromfile(open("../../data/feature_extraction/interframe_time_ch_2_scn_4.dat"),
dtype=sp.float32)
if_time_ch3_scn_4 = sp.fromfile(open("../../data/feature_extraction/interframe_time_ch_3_scn_4.dat"),
dtype=sp.float32)
if_time_ch4_scn_4 = sp.fromfile(open("../../data/feature_extraction/interframe_time_ch_4_scn_4.dat"),
dtype=sp.float32)
# Scenario 5
if_time_ch1_scn_5 = sp.fromfile(open("../../data/feature_extraction/interframe_time_ch_1_scn_5.dat"),
dtype=sp.float32)
if_time_ch2_scn_5 = sp.fromfile(open("../../data/feature_extraction/interframe_time_ch_2_scn_5.dat"),
dtype=sp.float32)
if_time_ch3_scn_5 = sp.fromfile(open("../../data/feature_extraction/interframe_time_ch_3_scn_5.dat"),
dtype=sp.float32)
if_time_ch4_scn_5 = sp.fromfile(open("../../data/feature_extraction/interframe_time_ch_4_scn_5.dat"),
dtype=sp.float32)
# Scenario 6
if_time_ch1_scn_6 = sp.fromfile(open("../../data/feature_extraction/interframe_time_ch_1_scn_6.dat"),
dtype=sp.float32)
if_time_ch2_scn_6 = sp.fromfile(open("../../data/feature_extraction/interframe_time_ch_2_scn_6.dat"),
dtype=sp.float32)
if_time_ch3_scn_6 = sp.fromfile(open("../../data/feature_extraction/interframe_time_ch_3_scn_6.dat"),
dtype=sp.float32)
if_time_ch4_scn_6 = sp.fromfile(open("../../data/feature_extraction/interframe_time_ch_4_scn_6.dat"),
dtype=sp.float32)
# Scenario 7
if_time_ch1_scn_7 = sp.fromfile(open("../../data/feature_extraction/interframe_time_ch_1_scn_7.dat"),
dtype=sp.float32)
if_time_ch2_scn_7 = sp.fromfile(open("../../data/feature_extraction/interframe_time_ch_2_scn_7.dat"),
dtype=sp.float32)
if_time_ch3_scn_7 = sp.fromfile(open("../../data/feature_extraction/interframe_time_ch_3_scn_7.dat"),
dtype=sp.float32)
if_time_ch4_scn_7 = sp.fromfile(open("../../data/feature_extraction/interframe_time_ch_4_scn_7.dat"),
dtype=sp.float32)
# Scenario 8
if_time_ch1_scn_8 = sp.fromfile(open("../../data/feature_extraction/interframe_time_ch_1_scn_8.dat"),
dtype=sp.float32)
if_time_ch2_scn_8 = sp.fromfile(open("../../data/feature_extraction/interframe_time_ch_2_scn_8.dat"),
dtype=sp.float32)
if_time_ch3_scn_8 = sp.fromfile(open("../../data/feature_extraction/interframe_time_ch_3_scn_8.dat"),
dtype=sp.float32)
if_time_ch4_scn_8 = sp.fromfile(open("../../data/feature_extraction/interframe_time_ch_4_scn_8.dat"),
dtype=sp.float32)
# Scenario 9
if_time_ch1_scn_9 = sp.fromfile(open("../../data/feature_extraction/interframe_time_ch_1_scn_9.dat"),
dtype=sp.float32)
if_time_ch2_scn_9 = sp.fromfile(open("../../data/feature_extraction/interframe_time_ch_2_scn_9.dat"),
dtype=sp.float32)
if_time_ch3_scn_9 = sp.fromfile(open("../../data/feature_extraction/interframe_time_ch_3_scn_9.dat"),
dtype=sp.float32)
if_time_ch4_scn_9 = sp.fromfile(open("../../data/feature_extraction/interframe_time_ch_4_scn_9.dat"),
dtype=sp.float32)
In [5]:
# save the recorded data in variables
# interframe time per channel
# Scenario 0
test_if_time_ch1_scn_0 = sp.fromfile(open("../../data/feature_extraction/2/interframe_time_ch_1_scn_0.dat"),
dtype=sp.float32)
test_if_time_ch2_scn_0 = sp.fromfile(open("../../data/feature_extraction/2/interframe_time_ch_2_scn_0.dat"),
dtype=sp.float32)
test_if_time_ch3_scn_0 = sp.fromfile(open("../../data/feature_extraction/2/interframe_time_ch_3_scn_0.dat"),
dtype=sp.float32)
test_if_time_ch4_scn_0 = sp.fromfile(open("../../data/feature_extraction/2/interframe_time_ch_4_scn_0.dat"),
dtype=sp.float32)
# Packet rate
test_packet_rate_scn_0 = sp.fromfile(open("../../data/feature_extraction/2/packet_rate_scn_0.dat"), dtype=sp.float32)
# Variance inter frame delay
test_variance_scn_0 = sp.fromfile(open("../../data/feature_extraction/2/variance_scn_0.dat"), dtype=sp.float32)
In [ ]:
# Be sure all the interframe delays have the same shape
print(type(test_if_time_ch1_scn_0))
print("Shape interframe delays for scenario 0: {}".format(test_if_time_ch1_scn_0.shape))
print("Shape interframe delays for scenario 0: {}".format(test_if_time_ch2_scn_0.shape))
print("Shape interframe delays for scenario 0: {}".format(test_if_time_ch3_scn_0.shape))
print("Shape interframe delays for scenario 0: {}".format(test_if_time_ch4_scn_0.shape))
print("Shape interframe delays for scenario 0: {}".format(test_packet_rate_scn_0.shape))
print("Shape interframe delays for scenario 0: {}".format(test_variance_scn_0.shape))
In [6]:
# save the recorded data in variables
# interframe time per channel
# Scenario 0
test_if_time_ch1_scn_1 = sp.fromfile(open("../../data/feature_extraction/2/interframe_time_ch_1_scn_1.dat"),
dtype=sp.float32)
test_if_time_ch2_scn_1 = sp.fromfile(open("../../data/feature_extraction/2/interframe_time_ch_2_scn_1.dat"),
dtype=sp.float32)
test_if_time_ch3_scn_1 = sp.fromfile(open("../../data/feature_extraction/2/interframe_time_ch_3_scn_1.dat"),
dtype=sp.float32)
test_if_time_ch4_scn_1 = sp.fromfile(open("../../data/feature_extraction/2/interframe_time_ch_4_scn_1.dat"),
dtype=sp.float32)
# Packet rate
test_packet_rate_scn_1 = sp.fromfile(open("../../data/feature_extraction/2/packet_rate_scn_1.dat"), dtype=sp.float32)
# Variance inter frame delay
test_variance_scn_1 = sp.fromfile(open("../../data/feature_extraction/2/variance_scn_1.dat"), dtype=sp.float32)
In [ ]:
# Be sure all the interframe delays have the same shape
print(type(test_if_time_ch1_scn_0))
print("Shape interframe delays for scenario 1: {}".format(test_if_time_ch1_scn_1.shape))
print("Shape interframe delays for scenario 1: {}".format(test_if_time_ch2_scn_1.shape))
print("Shape interframe delays for scenario 1: {}".format(test_if_time_ch3_scn_1.shape))
print("Shape interframe delays for scenario 1: {}".format(test_if_time_ch4_scn_1.shape))
print("Shape interframe delays for scenario 1: {}".format(test_packet_rate_scn_1.shape))
print("Shape interframe delays for scenario 1: {}".format(test_variance_scn_1.shape))
In [7]:
# save the recorded data in variables
# interframe time per channel
# Scenario 0
test_if_time_ch1_scn_2 = sp.fromfile(open("../../data/feature_extraction/with_dc/SNR_0/interframe_time_ch_1_scn_2.dat"),
dtype=sp.float32)
print("Shape: ", test_if_time_ch1_scn_2.shape[0])
# test_if_time_ch2_scn_2 = sp.fromfile(open("../../data/feature_extraction/2/interframe_time_ch_2_scn_2.dat"),
# dtype=sp.float32)
# test_if_time_ch3_scn_2 = sp.fromfile(open("../../data/feature_extraction/2/interframe_time_ch_3_scn_2.dat"),
# dtype=sp.float32)
# test_if_time_ch4_scn_2 = sp.fromfile(open("../../data/feature_extraction/2/interframe_time_ch4_scn_2.dat"),
# dtype=sp.float32)
# Packet rate
# test_packet_rate_scn_2 = sp.fromfile(open("../../data/feature_extraction/2/packet_rate_scn_2.dat"), dtype=sp.float32)
# Variance inter frame delay
# test_variance_scn_2 = sp.fromfile(open("../../data/feature_extraction/2/variance_scn_2.dat"), dtype=sp.float32)
In [ ]:
# Be sure all the interframe delays have the same shape
print(type(test_if_time_ch1_scn_0))
print("Shape interframe delays for scenario 2: {}".format(test_if_time_ch1_scn_2.shape))
print("Shape interframe delays for scenario 2: {}".format(test_if_time_ch2_scn_2.shape))
print("Shape interframe delays for scenario 2: {}".format(test_if_time_ch3_scn_2.shape))
print("Shape interframe delays for scenario 2: {}".format(test_if_time_ch4_scn_2.shape))
print("Shape interframe delays for scenario 2: {}".format(test_packet_rate_scn_2.shape))
print("Shape interframe delays for scenario 2: {}".format(test_variance_scn_2.shape))
In [ ]:
# save the recorded data in variables
# interframe time per channel
# Scenario 0
test_if_time_ch1_scn_3 = sp.fromfile(open("../../data/feature_extraction/2/interframe_time_ch_1_scn_3.dat"),
dtype=sp.float32)
test_if_time_ch2_scn_3 = sp.fromfile(open("../../data/feature_extraction/2/interframe_time_ch_2_scn_3.dat"),
dtype=sp.float32)
test_if_time_ch3_scn_3 = sp.fromfile(open("../../data/feature_extraction/2/interframe_time_ch_3_scn_3.dat"),
dtype=sp.float32)
test_if_time_ch4_scn_3 = sp.fromfile(open("../../data/feature_extraction/2/interframe_time_ch4_scn_3.dat"),
dtype=sp.float32)
# Packet rate
test_packet_rate_scn_3 = sp.fromfile(open("../../data/feature_extraction/2/packet_rate_scn_3.dat"), dtype=sp.float32)
# Variance inter frame delay
test_variance_scn_3 = sp.fromfile(open("../../data/feature_extraction/2/variance_scn_3.dat"), dtype=sp.float32)
In [ ]:
# Be sure all the interframe delays have the same shape
print(type(test_if_time_ch1_scn_0))
print("Shape interframe delays for scenario 3: {}".format(test_if_time_ch1_scn_3.shape))
print("Shape interframe delays for scenario 3: {}".format(test_if_time_ch2_scn_3.shape))
print("Shape interframe delays for scenario 3: {}".format(test_if_time_ch3_scn_3.shape))
print("Shape interframe delays for scenario 3: {}".format(test_if_time_ch4_scn_3.shape))
print("Shape interframe delays for scenario 3: {}".format(test_packet_rate_scn_3.shape))
print("Shape interframe delays for scenario 3: {}".format(test_variance_scn_3.shape))
In [ ]:
# save the recorded data in variables
# interframe time per channel
# Scenario 0
test_if_time_ch1_scn_4 = sp.fromfile(open("../../data/feature_extraction/2/interframe_time_ch_1_scn_4.dat"),
dtype=sp.float32)
test_if_time_ch2_scn_4 = sp.fromfile(open("../../data/feature_extraction/2/interframe_time_ch_2_scn_4.dat"),
dtype=sp.float32)
test_if_time_ch3_scn_4 = sp.fromfile(open("../../data/feature_extraction/2/interframe_time_ch_3_scn_4.dat"),
dtype=sp.float32)
test_if_time_ch4_scn_4 = sp.fromfile(open("../../data/feature_extraction/2/interframe_time_ch4_scn_4.dat"),
dtype=sp.float32)
# Packet rate
test_packet_rate_scn_4 = sp.fromfile(open("../../data/feature_extraction/2/packet_rate_scn_4.dat"), dtype=sp.float32)
# Variance inter frame delay
test_variance_scn_4 = sp.fromfile(open("../../data/feature_extraction/2/variance_scn_4.dat"), dtype=sp.float32)
In [ ]:
# Be sure all the interframe delays have the same shape
print(type(test_if_time_ch1_scn_0))
print("Shape interframe delays for scenario 4: {}".format(test_if_time_ch1_scn_4.shape))
print("Shape interframe delays for scenario 4: {}".format(test_if_time_ch2_scn_4.shape))
print("Shape interframe delays for scenario 4: {}".format(test_if_time_ch3_scn_4.shape))
print("Shape interframe delays for scenario 4: {}".format(test_if_time_ch4_scn_4.shape))
print("Shape interframe delays for scenario 4: {}".format(test_packet_rate_scn_4.shape))
print("Shape interframe delays for scenario 4: {}".format(test_variance_scn_4.shape))
In [ ]:
# save the recorded data in variables
# interframe time per channel
# Scenario 0
test_if_time_ch1_scn_5 = sp.fromfile(open("../../data/feature_extraction/2/interframe_time_ch_1_scn_5.dat"),
dtype=sp.float32)
test_if_time_ch2_scn_5 = sp.fromfile(open("../../data/feature_extraction/2/interframe_time_ch_2_scn_5.dat"),
dtype=sp.float32)
test_if_time_ch3_scn_5 = sp.fromfile(open("../../data/feature_extraction/2/interframe_time_ch_3_scn_5.dat"),
dtype=sp.float32)
test_if_time_ch4_scn_5 = sp.fromfile(open("../../data/feature_extraction/2/interframe_time_ch4_scn_5.dat"),
dtype=sp.float32)
# Packet rate
test_packet_rate_scn_5 = sp.fromfile(open("../../data/feature_extraction/2/packet_rate_scn_5.dat"), dtype=sp.float32)
# Variance inter frame delay
test_variance_scn_5 = sp.fromfile(open("../../data/feature_extraction/2/variance_scn_5.dat"), dtype=sp.float32)
In [ ]:
# Be sure all the interframe delays have the same shape
print(type(test_if_time_ch1_scn_0))
print("Shape interframe delays for scenario 5: {}".format(test_if_time_ch1_scn_5.shape))
print("Shape interframe delays for scenario 5: {}".format(test_if_time_ch2_scn_5.shape))
print("Shape interframe delays for scenario 5: {}".format(test_if_time_ch3_scn_5.shape))
print("Shape interframe delays for scenario 5: {}".format(test_if_time_ch4_scn_5.shape))
print("Shape interframe delays for scenario 5: {}".format(test_packet_rate_scn_5.shape))
print("Shape interframe delays for scenario 5: {}".format(test_variance_scn_5.shape))
In [ ]:
# save the recorded data in variables
# interframe time per channel
# Scenario 0
test_if_time_ch1_scn_6 = sp.fromfile(open("../../data/feature_extraction/2/interframe_time_ch_1_scn_6.dat"),
dtype=sp.float32)
test_if_time_ch2_scn_6 = sp.fromfile(open("../../data/feature_extraction/2/interframe_time_ch_2_scn_6.dat"),
dtype=sp.float32)
test_if_time_ch3_scn_6 = sp.fromfile(open("../../data/feature_extraction/2/interframe_time_ch_3_scn_6.dat"),
dtype=sp.float32)
test_if_time_ch4_scn_6 = sp.fromfile(open("../../data/feature_extraction/2/interframe_time_ch4_scn_6.dat"),
dtype=sp.float32)
# Packet rate
test_packet_rate_scn_6 = sp.fromfile(open("../../data/feature_extraction/2/packet_rate_scn_6.dat"), dtype=sp.float32)
# Variance inter frame delay
test_variance_scn_6 = sp.fromfile(open("../../data/feature_extraction/2/variance_scn_6.dat"), dtype=sp.float32)
In [ ]:
# Be sure all the interframe delays have the same shape
print(type(test_if_time_ch1_scn_0))
print("Shape interframe delays for scenario 6: {}".format(test_if_time_ch1_scn_6.shape))
print("Shape interframe delays for scenario 6: {}".format(test_if_time_ch2_scn_6.shape))
print("Shape interframe delays for scenario 6: {}".format(test_if_time_ch3_scn_6.shape))
print("Shape interframe delays for scenario 6: {}".format(test_if_time_ch4_scn_6.shape))
print("Shape interframe delays for scenario 6: {}".format(test_packet_rate_scn_6.shape))
print("Shape interframe delays for scenario 6: {}".format(test_variance_scn_6.shape))
In [ ]:
# save the recorded data in variables
# interframe time per channel
# Scenario 0
test_if_time_ch1_scn_7 = sp.fromfile(open("../../data/feature_extraction/2/interframe_time_ch_1_scn_7.dat"),
dtype=sp.float32)
test_if_time_ch2_scn_7 = sp.fromfile(open("../../data/feature_extraction/2/interframe_time_ch_2_scn_7.dat"),
dtype=sp.float32)
test_if_time_ch3_scn_7 = sp.fromfile(open("../../data/feature_extraction/2/interframe_time_ch_3_scn_7.dat"),
dtype=sp.float32)
test_if_time_ch4_scn_7 = sp.fromfile(open("../../data/feature_extraction/2/interframe_time_ch4_scn_7.dat"),
dtype=sp.float32)
# Packet rate
test_packet_rate_scn_7 = sp.fromfile(open("../../data/feature_extraction/2/packet_rate_scn_7.dat"), dtype=sp.float32)
# Variance inter frame delay
test_variance_scn_7 = sp.fromfile(open("../../data/feature_extraction/2/variance_scn_7.dat"), dtype=sp.float32)
In [ ]:
# Be sure all the interframe delays have the same shape
print(type(test_if_time_ch1_scn_0))
print("Shape interframe delays for scenario 7: {}".format(test_if_time_ch1_scn_7.shape))
print("Shape interframe delays for scenario 7: {}".format(test_if_time_ch2_scn_7.shape))
print("Shape interframe delays for scenario 7: {}".format(test_if_time_ch3_scn_7.shape))
print("Shape interframe delays for scenario 7: {}".format(test_if_time_ch4_scn_7.shape))
print("Shape interframe delays for scenario 7: {}".format(test_packet_rate_scn_7.shape))
print("Shape interframe delays for scenario 7: {}".format(test_variance_scn_7.shape))
In [ ]:
# save the recorded data in variables
# interframe time per channel
# Scenario 0
test_if_time_ch1_scn_8 = sp.fromfile(open("../../data/feature_extraction/2/interframe_time_ch_1_scn_8.dat"),
dtype=sp.float32)
test_if_time_ch2_scn_8 = sp.fromfile(open("../../data/feature_extraction/2/interframe_time_ch_2_scn_8.dat"),
dtype=sp.float32)
test_if_time_ch3_scn_8 = sp.fromfile(open("../../data/feature_extraction/2/interframe_time_ch_3_scn_8.dat"),
dtype=sp.float32)
test_if_time_ch4_scn_8 = sp.fromfile(open("../../data/feature_extraction/2/interframe_time_ch4_scn_8.dat"),
dtype=sp.float32)
# Packet rate
test_packet_rate_scn_8 = sp.fromfile(open("../../data/feature_extraction/2/packet_rate_scn_8.dat"), dtype=sp.float32)
# Variance inter frame delay
test_variance_scn_8 = sp.fromfile(open("../../data/feature_extraction/2/variance_scn_8.dat"), dtype=sp.float32)
In [ ]:
# Be sure all the interframe delays have the same shape
print(type(test_if_time_ch1_scn_0))
print("Shape interframe delays for scenario 8: {}".format(test_if_time_ch1_scn_8.shape))
print("Shape interframe delays for scenario 8: {}".format(test_if_time_ch2_scn_8.shape))
print("Shape interframe delays for scenario 8: {}".format(test_if_time_ch3_scn_8.shape))
print("Shape interframe delays for scenario 8: {}".format(test_if_time_ch4_scn_8.shape))
print("Shape interframe delays for scenario 8: {}".format(test_packet_rate_scn_8.shape))
print("Shape interframe delays for scenario 8: {}".format(test_variance_scn_8.shape))
In [ ]:
# save the recorded data in variables
# interframe time per channel
# Scenario 0
test_if_time_ch1_scn_9 = sp.fromfile(open("../../data/feature_extraction/2/interframe_time_ch_1_scn_9.dat"),
dtype=sp.float32)
test_if_time_ch2_scn_9 = sp.fromfile(open("../../data/feature_extraction/2/interframe_time_ch_2_scn_9.dat"),
dtype=sp.float32)
test_if_time_ch3_scn_9 = sp.fromfile(open("../../data/feature_extraction/2/interframe_time_ch_3_scn_9.dat"),
dtype=sp.float32)
test_if_time_ch4_scn_9 = sp.fromfile(open("../../data/feature_extraction/2/interframe_time_ch4_scn_9.dat"),
dtype=sp.float32)
# Packet rate
test_packet_rate_scn_9 = sp.fromfile(open("../../data/feature_extraction/2/packet_rate_scn_8.dat"), dtype=sp.float32)
# Variance inter frame delay
test_variance_scn_9 = sp.fromfile(open("../../data/feature_extraction/2/variance_scn_8.dat"), dtype=sp.float32)
In [ ]:
# Be sure all the interframe delays have the same shape
print(type(test_if_time_ch1_scn_0))
print("Shape interframe delays for scenario 8: {}".format(test_if_time_ch1_scn_8.shape))
print("Shape interframe delays for scenario 8: {}".format(test_if_time_ch2_scn_8.shape))
print("Shape interframe delays for scenario 8: {}".format(test_if_time_ch3_scn_8.shape))
print("Shape interframe delays for scenario 8: {}".format(test_if_time_ch4_scn_8.shape))
print("Shape interframe delays for scenario 8: {}".format(test_packet_rate_scn_8.shape))
print("Shape interframe delays for scenario 8: {}".format(test_variance_scn_8.shape))
In [ ]:
# Or avoid doing that per hand and create a list with the following format:
# if_time_scn_[]_ch_[]
# [[scenario 0, channel 1], [scenario 0, channel 2], ..., [scenario 0, channel 4]],
# [[scenario 1, channel 1], [scenario 1, channel 2], ..., [scenario 1, channel 4]],
# .
# .
# .
# [[scenario 9, channel 1], [scenario 9, channel 2], ..., [scenario 9, channel 4]],
# BETTER TO START THINKING IN CHANNEL 0 TO 3
if_time_scn_ch = [[[channel] for channel in range(N_CHAN)]
for scenario in range(N_SCN)]
for scenario in range(N_SCN):
for channel in range(N_CHAN):
if_time_scn_ch[scenario][channel] = sp.fromfile(open(
"../../data/feature_extraction/interframe_time_ch_{}_scn_{}.dat".format(channel+1, scenario)),
dtype=sp.float32)
In [ ]:
# Check if the assignment is according in the two methods
if_time_scn_ch[0][0] == if_time_ch1_scn_0
In [ ]:
# set up an array that contains the all the interframe delays, one array per scenario
# Scenario 0
interframe_delays_scn_0 = np.transpose(np.array([if_time_ch1_scn_0,
if_time_ch2_scn_0,
if_time_ch3_scn_0,
if_time_ch4_scn_0]))
# Scenario 1
interframe_delays_scn_1 = np.transpose(np.array([if_time_ch1_scn_1,
if_time_ch2_scn_1,
if_time_ch3_scn_1,
if_time_ch4_scn_1]))
# Scenario 2
interframe_delays_scn_2 = np.transpose(np.array([if_time_ch1_scn_2,
if_time_ch2_scn_2,
if_time_ch3_scn_2,
if_time_ch4_scn_2]))
# Scenario 3
interframe_delays_scn_3 = np.transpose(np.array([if_time_ch1_scn_3,
if_time_ch2_scn_3,
if_time_ch3_scn_3,
if_time_ch4_scn_3]))
# Scenario 4
interframe_delays_scn_4 = np.transpose(np.array([if_time_ch1_scn_4,
if_time_ch2_scn_4,
if_time_ch3_scn_4,
if_time_ch4_scn_4]))
# Scenario 5
interframe_delays_scn_5 = np.transpose(np.array([if_time_ch1_scn_5,
if_time_ch2_scn_5,
if_time_ch3_scn_5,
if_time_ch4_scn_5]))
# Scenario 6
interframe_delays_scn_6 = np.transpose(np.array([if_time_ch1_scn_6,
if_time_ch2_scn_6,
if_time_ch3_scn_6,
if_time_ch4_scn_6]))
# Scenario 7
interframe_delays_scn_7 = np.transpose(np.array([if_time_ch1_scn_7,
if_time_ch2_scn_7,
if_time_ch3_scn_7,
if_time_ch4_scn_7]))
# Scenario 8
interframe_delays_scn_8 = np.transpose(np.array([if_time_ch1_scn_8,
if_time_ch2_scn_8,
if_time_ch3_scn_8,
if_time_ch4_scn_8]))
# Scenario 9
interframe_delays_scn_9 = np.transpose(np.array([if_time_ch1_scn_9,
if_time_ch2_scn_9,
if_time_ch3_scn_9,
if_time_ch4_scn_9]))
In [ ]:
# Do the same automation for the interframe_delays in a list
interframe_delays_scn = [[] for i in range(N_SCN)]
for scenario in range(N_SCN):
interframe_delays_scn[scenario] = np.transpose(np.array([if_time_scn_ch[scenario][channel] for channel in range(N_CHAN)]))
In [ ]:
# Check that the assignment is according with a random choice
interframe_delays_scn[4] == interframe_delays_scn_4
In [ ]:
# Be sure all the interframe delays have the same shape
print(type(interframe_delays_scn_0))
print("Shape interframe delays for scenario 0: {}".format(interframe_delays_scn_0.shape))
print("Shape interframe delays for scenario 1: {}".format(interframe_delays_scn_1.shape))
print("Shape interframe delays for scenario 2: {}".format(interframe_delays_scn_2.shape))
print("Shape interframe delays for scenario 3: {}".format(interframe_delays_scn_3.shape))
print("Shape interframe delays for scenario 4: {}".format(interframe_delays_scn_4.shape))
print("Shape interframe delays for scenario 5: {}".format(interframe_delays_scn_5.shape))
print("Shape interframe delays for scenario 6: {}".format(interframe_delays_scn_6.shape))
print("Shape interframe delays for scenario 7: {}".format(interframe_delays_scn_7.shape))
print("Shape interframe delays for scenario 8: {}".format(interframe_delays_scn_8.shape))
print("Shape interframe delays for scenario 9: {}".format(interframe_delays_scn_9.shape))
In [ ]:
# Be sure all the interframe delays have the same shape
print(type(interframe_delays_scn))
print(type(interframe_delays_scn[0]))
total_data = 0
for scenario in range(N_SCN):
print("Shape Interframe delays for scenario {}: {}".format(scenario, interframe_delays_scn[scenario].shape))
total_data += interframe_delays_scn[scenario].shape[0]
print("total data: {}".format(total_data))
In [ ]:
# Packet rate
packet_rate_scn_0 = sp.fromfile(open("../../data/feature_extraction/packet_rate_scn_0.dat"), dtype=sp.float32) # Scenario 0
packet_rate_scn_1 = sp.fromfile(open("../../data/feature_extraction/packet_rate_scn_1.dat"), dtype=sp.float32) # Scenario 1
packet_rate_scn_2 = sp.fromfile(open("../../data/feature_extraction/packet_rate_scn_2.dat"), dtype=sp.float32) # Scenario 2
packet_rate_scn_3 = sp.fromfile(open("../../data/feature_extraction/packet_rate_scn_3.dat"), dtype=sp.float32) # Scenario 3
packet_rate_scn_4 = sp.fromfile(open("../../data/feature_extraction/packet_rate_scn_4.dat"), dtype=sp.float32) # Scenario 4
packet_rate_scn_5 = sp.fromfile(open("../../data/feature_extraction/packet_rate_scn_5.dat"), dtype=sp.float32) # Scenario 5
packet_rate_scn_6 = sp.fromfile(open("../../data/feature_extraction/packet_rate_scn_6.dat"), dtype=sp.float32) # Scenario 6
packet_rate_scn_7 = sp.fromfile(open("../../data/feature_extraction/packet_rate_scn_7.dat"), dtype=sp.float32) # Scenario 7
packet_rate_scn_8 = sp.fromfile(open("../../data/feature_extraction/packet_rate_scn_8.dat"), dtype=sp.float32) # Scenario 8
packet_rate_scn_9 = sp.fromfile(open("../../data/feature_extraction/packet_rate_scn_9.dat"), dtype=sp.float32) # Scenario 9
# Variance inter frame delay
variance_scn_0 = sp.fromfile(open("../../data/feature_extraction/variance_scn_0.dat"), dtype=sp.float32) # Scenario 0
variance_scn_1 = sp.fromfile(open("../../data/feature_extraction/variance_scn_1.dat"), dtype=sp.float32) # Scenario 1
variance_scn_2 = sp.fromfile(open("../../data/feature_extraction/variance_scn_2.dat"), dtype=sp.float32) # Scenario 2
variance_scn_3 = sp.fromfile(open("../../data/feature_extraction/variance_scn_3.dat"), dtype=sp.float32) # Scenario 3
variance_scn_4 = sp.fromfile(open("../../data/feature_extraction/variance_scn_4.dat"), dtype=sp.float32) # Scenario 4
variance_scn_5 = sp.fromfile(open("../../data/feature_extraction/variance_scn_5.dat"), dtype=sp.float32) # Scenario 5
variance_scn_6 = sp.fromfile(open("../../data/feature_extraction/variance_scn_6.dat"), dtype=sp.float32) # Scenario 6
variance_scn_7 = sp.fromfile(open("../../data/feature_extraction/variance_scn_7.dat"), dtype=sp.float32) # Scenario 7
variance_scn_8 = sp.fromfile(open("../../data/feature_extraction/variance_scn_8.dat"), dtype=sp.float32) # Scenario 8
variance_scn_9 = sp.fromfile(open("../../data/feature_extraction/variance_scn_9.dat"), dtype=sp.float32) # Scenario 9
In [ ]:
# Create iterables for packet rate and variance
packet_rate_scn = [[] for scenario in range(N_SCN)]
variance_scn = [[] for scenario in range(N_SCN)]
for scenario in range(N_SCN):
packet_rate_scn[scenario] = sp.fromfile(open("../../data/feature_extraction/packet_rate_scn_{}.dat".format(scenario)),
dtype=sp.float32)
variance_scn[scenario] = sp.fromfile(open("../../data/feature_extraction/variance_scn_{}.dat".format(scenario)),
dtype=sp.float32)
In [ ]:
# Check validity of iterable again
print(packet_rate_scn[4] == packet_rate_scn_4)
print(variance_scn[4] == variance_scn_4)
In [ ]:
# Generate a channel ocupation feature
channel_ocupation_scn = [[] for scenario in range(N_SCN)]
for scenario in range(N_SCN):
channel_ocupation_scn[scenario] = interframe_delays_scn[scenario] > 0
print(len(channel_ocupation_scn))
In [ ]:
# create lists to describe dataset
features_names = ['Interframe delay ch 1', 'Interframe delay ch 2', 'Interframe delay ch 3', 'Interframe delay ch 4', 'Packet Rate', 'Variance IFD', 'channel ocupation']
target_names = ["Scenario {}".format(i) for i in range(N_SCN)]
# target = np.array([scenario for scenario in range(N_SCN)])
data = np.array(list(zip(if_time_scn_ch, packet_rate_scn, variance_scn, channel_ocupation_scn)))
In [ ]:
# Generate target
# List
target = []
for scenario in range(N_SCN):
target += interframe_delays_scn[scenario].shape[0]*[scenario]
# Array
# target = np.array()
target_array = np.array(target)
In [ ]:
# unrolling data
ext_data =
In [ ]:
# Checking data structure
print("Data type: {}, lenght: {}\n".format(type(data), len(data)))
print("if time type: {}, lenght: {}\n".format(type(if_time_scn_ch), len(if_time_scn_ch)))
In [ ]:
# DEBUG: Testing lists concatenation and data validity
print(if_time_scn_ch[0][0])
test_1 = list(if_time_scn_ch[0][0])
test_2 = list(if_time_scn_ch[1][0])
#print(test)
#trying
#print(type(if_time_scn_ch[0][0]), len(if_time_scn_ch[0][0]))
print(type(test_1), len(test_1))
print(type(test_2), len(test_2))
test_3 = test_1 + test_2
print(type(test_3), len(test_3))
print(test_2[0], test_3[1110])
In [ ]:
# DEBUG: Testing array into lists casting for if_time_scn_ch
test_4 = list(if_time_scn_ch)
print(type(test_4), len(test_4))
print(test_4)
In [ ]:
print(len(packet_rate_scn[0]))
In [ ]:
# Concatenating data
#data_ifn = [[] for channel in range(N_CHAN)]
data_ifn = [[] for channel in range(N_CHAN)]
concat_packet = []
concat_var = []
concat_chan = []
for scenario in range(N_SCN):
for channel in range(N_CHAN):
data_ifn[channel] += list(if_time_scn_ch[scenario][channel])
concat_packet += list(packet_rate_scn[scenario])
concat_var += list(variance_scn[scenario])
concat_chan += list(channel_ocupation_scn[scenario])
# data_ifn.extend(packet_rate_scn[scenario])
# data_ifn.append(packet_rate_scn[scenario])
# data_ifn.extend(variance_scn[scenario])
#for element in range(len(concat_packet)):
# data_ifn = [row + [0] for row in data_ifn]
#data_ifn = [[row + concat_packet[item] for row in data_ifn] for item in range(len(concat_packet))]
# L = [x + [0] for x in L]
data_ifn.append(concat_packet)
data_ifn.append(concat_var)
data_ifn.append(concat_chan)
In [ ]:
print(len(features_names))
print(len(target_names))
print(len(target))
print(len(data_ifn))
In [ ]:
# generate a dict to use as dataset
# unfuckup
data_ifn_what = list(data_ifn)
print(data_ifn_what == data_ifn)
data_ifn_what = list(zip(*data_ifn_what))
print(data_ifn_what == data_ifn)
print(type(data_ifn_what))
print(len(data_ifn))
print(len(data_ifn_what))
ml_dataset = {}
ml_dataset['feature_names'] = features_names
ml_dataset['target_names'] = target_names
ml_dataset['target'] = target
ml_dataset['data'] = data_ifn_what
In [ ]:
# Start MLearning with train_test_split
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(ml_dataset['data'], ml_dataset['target'], random_state=0)
In [ ]:
print(if_time_ch2_scn_5)
print(len(if_time_ch3_scn_6))
print(len(if_time_ch2_scn_5))
In [ ]:
print("Shape of data: {}".format(ml_dataset['data'].shape))
In [ ]:
print("Shape of target: {}".format(ml_dataset['target'].shape))
In [ ]:
print("X_train shape: {}".format(X_train.shape))
print("y_train shape: {}".format(y_train.shape))
#print(ml_dataset['feature_names'])
In [ ]:
# Create a dataframe from data in X_train
# Label de columns using the strings in ml_dataset.feature_names
ml_dataframe = pd.DataFrame(X_train, columns=ml_dataset['feature_names'])
# create a scatter matrix from the dataframe, color by y_train
grr = pd.plotting.scatter_matrix(ml_dataframe, c=y_train, figsize=(15, 15), marker='o',
hist_kwds={'bins': 20}, s=60, alpha=.8, cmap=mglearn.cm3)
plt.show()
In [ ]:
from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier(n_neighbors=1)
In [ ]:
knn.fit(X_train, y_train)
In [ ]: