Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 11

Detection rate with 10 features

import numpy as np

import matplotlib.pyplot as plt

import matplotlib.colors as mcolors

# set width of bar

barWidth = 0.15

fig = plt.subplots(figsize =(15, 8))

# set height of bar

SVMNB = [93.65,89.90,85.90,78.24]

SVMRF = [94.56,84.78,93.45,74.98]

KNNDT = [97.78,87.42,96.34,68.76]

KNNLR = [94.19,81.52,97.86,71.92]

KNNSVM = [98.75,90.31,98.99,79.96]

# Set position of bar on X axis

br1 = np.arange(len(SVMNB))

br2 = [x + barWidth for x in br1]

br3 = [x + barWidth for x in br2]

br4 = [x + barWidth for x in br3]

br5 = [x + barWidth for x in br4]

# Make the plot

plt.bar(br1, SVMNB, color ='aqua', width = barWidth,

edgecolor ='grey', label ='SVMNB')

plt.bar(br2, SVMRF, color ='turquoise', width = barWidth,

edgecolor ='grey', label ='SVMRF')

plt.bar(br3, KNNDT, color ='mediumspringgreen', width = barWidth,

edgecolor ='grey', label ='KNNDT')

plt.bar(br4, KNNLR, color ='blue', width = barWidth,

edgecolor ='grey', label ='KNNLR')

plt.bar(br5, KNNSVM, color ='royalblue', width = barWidth,

edgecolor ='grey', label ='KNNSVM')

# giving title to the plot


plt.title("Detection Rate With 10 Features", fontweight ='bold', fontsize = 15)

# Adding Xticks

plt.xlabel('Attacks', fontweight ='bold', fontsize = 15)

plt.ylabel('Detection Rate', fontweight ='bold', fontsize = 15)

plt.xticks([r + barWidth for r in range(len(SVMNB))],

['DoS', 'Probe', 'R2L', 'U2R'])

plt.legend()

plt.show()

Detection rate with 41 features

import numpy as np

import matplotlib.pyplot as plt

import matplotlib.colors as mcolors

# set width of bar

barWidth = 0.15

fig = plt.subplots(figsize =(15, 8))

# set height of bar

SVMNB = [92.48,83.84,81.65,76.33]

SVMRF = [89.76,80.23,90.65,71.34]

KNNDT = [97.31,83.62,95.43,68.04]

KNNLR = [93.61,80.31,94.32,70.12]

KNNSVM = [98.04,89.38,96.72,74.21]

# Set position of bar on X axis

br1 = np.arange(len(SVMNB))

br2 = [x + barWidth for x in br1]

br3 = [x + barWidth for x in br2]

br4 = [x + barWidth for x in br3]

br5 = [x + barWidth for x in br4]

# Make the plot

plt.bar(br1, SVMNB, color ='aqua', width = barWidth,


edgecolor ='grey', label ='SVMNB')

plt.bar(br2, SVMRF, color ='turquoise', width = barWidth,

edgecolor ='grey', label ='SVMRF')

plt.bar(br3, KNNDT, color ='mediumspringgreen', width = barWidth,

edgecolor ='grey', label ='KNNDT')

plt.bar(br4, KNNLR, color ='blue', width = barWidth,

edgecolor ='grey', label ='KNNLR')

plt.bar(br5, KNNSVM, color ='royalblue', width = barWidth,

edgecolor ='grey', label ='KNNSVM')

# giving title to the plot

plt.title("Detection Rate With 41 Features", fontweight ='bold', fontsize = 15)

# Adding Xticks

plt.xlabel('Attacks', fontweight ='bold', fontsize = 15)

plt.ylabel('Detection Rate', fontweight ='bold', fontsize = 15)

plt.xticks([r + barWidth for r in range(len(SVMNB))],

['DoS', 'Probe', 'R2L', 'U2R'])

plt.legend()

plt.show()

False Alarm Rate With 10 Features

import numpy as np

import matplotlib.pyplot as plt

import matplotlib.colors as mcolors

# set width of bar

barWidth = 0.15

fig = plt.subplots(figsize =(15, 8))

# set height of bar

SVMNB = [0.05,0.02,0.06,0.07]

SVMRF = [0.03,0.03,0.08,0.05]

KNNDT = [0.02,0.03,0.04,0.08]

KNNLR = [0.03,0.02,0.02,0.07]
KNNSVM = [0.01,0.01,0.01,0.02]

# Set position of bar on X axis

br1 = np.arange(len(SVMNB))

br2 = [x + barWidth for x in br1]

br3 = [x + barWidth for x in br2]

br4 = [x + barWidth for x in br3]

br5 = [x + barWidth for x in br4]

# Make the plot

plt.bar(br1, SVMNB, color ='aqua', width = barWidth,

edgecolor ='grey', label ='SVMNB')

plt.bar(br2, SVMRF, color ='turquoise', width = barWidth,

edgecolor ='grey', label ='SVMRF')

plt.bar(br3, KNNDT, color ='mediumspringgreen', width = barWidth,

edgecolor ='grey', label ='KNNDT')

plt.bar(br4, KNNLR, color ='blue', width = barWidth,

edgecolor ='grey', label ='KNNLR')

plt.bar(br5, KNNSVM, color ='royalblue', width = barWidth,

edgecolor ='grey', label ='KNNSVM')

# giving title to the plot

plt.title("False Alarm Rate With 10 Features", fontweight ='bold', fontsize = 15)

# Adding Xticks

plt.xlabel('Attacks', fontweight ='bold', fontsize = 15)

plt.ylabel('FAR(%)', fontweight ='bold', fontsize = 15)

plt.xticks([r + barWidth for r in range(len(SVMNB))],

['DoS', 'Probe', 'R2L', 'U2R'])

plt.legend()

plt.show()

Accuracy for 41 features

import numpy as np

import matplotlib.pyplot as plt

import matplotlib.colors as mcolors


# set width of bar

barWidth = 0.16

fig = plt.subplots(figsize =(15, 8))

# set height of bar

SVMNB = [87.12,87.44,87.32,88.32]

SVMRF = [85.65,90.67,89.17,91.92]

KNNDT = [84.57,84.93,82.56,84.75]

KNNLR = [86.58,90.63,90.13,85.17]

KNNSVM = [90.68,93.06,91.35,91.83]

# Set position of bar on X axis

br1 = np.arange(len(SVMNB))

br2 = [x + barWidth for x in br1]

br3 = [x + barWidth for x in br2]

br4 = [x + barWidth for x in br3]

br5 = [x + barWidth for x in br4]

# Make the plot

plt.bar(br1, SVMNB, color ='aqua', width = barWidth,

edgecolor ='grey', label ='SVMNB')

plt.bar(br2, SVMRF, color ='turquoise', width = barWidth,

edgecolor ='grey', label ='SVMRF')

plt.bar(br3, KNNDT, color ='mediumspringgreen', width = barWidth,

edgecolor ='grey', label ='KNNDT')

plt.bar(br4, KNNLR, color ='blue', width = barWidth,

edgecolor ='grey', label ='KNNLR')

plt.bar(br5, KNNSVM, color ='royalblue', width = barWidth,

edgecolor ='grey', label ='KNNSVM')

# giving title to the plot

plt.title("Accuracy for 41 Features", fontweight ='bold', fontsize = 15)

# Adding Xticks

plt.xlabel('Attacks', fontweight ='bold', fontsize = 15)


plt.ylabel('ACCURACY(%)', fontweight ='bold', fontsize = 15)

plt.xticks([r + barWidth for r in range(len(SVMNB))],

['DoS', 'Probe', 'R2L', 'U2R']

plt.legend()

plt.show()

F-Measure for 41 features

import numpy as np

import matplotlib.pyplot as plt

import matplotlib.colors as mcolors

# set width of bar

barWidth = 0.16

fig = plt.subplots(figsize =(15, 8))

# set height of bar

SVMNB = [0.87,0.89,0.75,0.29]

SVMRF = [0.84,0.82,0.86,0.50]

KNNDT = [0.94,0.85,0.63,0.26]

KNNLR = [0.92,0.81,0.68,0.46]

KNNSVM = [0.93,0.88,0.71,0.51]

# Set position of bar on X axis

br1 = np.arange(len(SVMNB))

br2 = [x + barWidth for x in br1]

br3 = [x + barWidth for x in br2]

br4 = [x + barWidth for x in br3]

br5 = [x + barWidth for x in br4]

# Make the plot

plt.bar(br1, SVMNB, color ='aqua', width = barWidth,

edgecolor ='grey', label ='SVMNB')

plt.bar(br2, SVMRF, color ='turquoise', width = barWidth,

edgecolor ='grey', label ='SVMRF')

plt.bar(br3, KNNDT, color ='mediumspringgreen', width = barWidth,


edgecolor ='grey', label ='KNNDT')

plt.bar(br4, KNNLR, color ='blue', width = barWidth,

edgecolor ='grey', label ='KNNLR')

plt.bar(br5, KNNSVM, color ='royalblue', width = barWidth,

edgecolor ='grey', label ='KNNSVM')

# giving title to the plot

plt.title("F-Measure for 41 features", fontweight ='bold', fontsize = 15)

# Adding Xticks

plt.xlabel('Attacks', fontweight ='bold', fontsize = 15)

plt.ylabel('F-Measure(%)', fontweight ='bold', fontsize = 15)

plt.xticks([r + barWidth for r in range(len(SVMNB))],

['DoS', 'Probe', 'R2L', 'U2R'])

plt.legend()

plt.show()

Precision for 10 features:

import numpy as np

import matplotlib.pyplot as plt

import matplotlib.colors as mcolors

# set width of bar

barWidth = 0.15

fig = plt.subplots(figsize =(15, 8))

# set height of bar

SVMNB = [0.91,0.85,0.78,0.82]

SVMRF = [0.89,0.80,0.81,0.80]

KNNDT = [0.90,0.89,0.85,0.87]

KNNLR = [0.87,0.83,0.83,0.78]

KNNSVM = [0.92,0.91,0.93,0.90]

# Set position of bar on X axis

br1 = np.arange(len(SVMNB))
br2 = [x + barWidth for x in br1]

br3 = [x + barWidth for x in br2]

br4 = [x + barWidth for x in br3]

br5 = [x + barWidth for x in br4]

# Make the plot

plt.bar(br1, SVMNB, color ='aqua', width = barWidth,

edgecolor ='grey', label ='SVMNB')

plt.bar(br2, SVMRF, color ='turquoise', width = barWidth,

edgecolor ='grey', label ='SVMRF')

plt.bar(br3, KNNDT, color ='mediumspringgreen', width = barWidth,

edgecolor ='grey', label ='KNNDT')

plt.bar(br4, KNNLR, color ='blue', width = barWidth,

edgecolor ='grey', label ='KNNLR')

plt.bar(br5, KNNSVM, color ='royalblue', width = barWidth,

edgecolor ='grey', label ='KNNSVM')

# giving title to the plot

plt.title("Precision for 10 features", fontweight ='bold', fontsize = 15)

# Adding Xticks

plt.xlabel('Attacks', fontweight ='bold', fontsize = 15)

plt.ylabel('Precision', fontweight ='bold', fontsize = 15)

plt.xticks([r + barWidth for r in range(len(SVMNB))],

['DoS', 'Probe', 'R2L', 'U2R'])

plt.legend()

plt.show()

Precision for 41 features:

import numpy as np

import matplotlib.pyplot as plt

import matplotlib.colors as mcolors

# set width of bar


barWidth = 0.15

fig = plt.subplots(figsize =(15, 8))

# set height of bar

SVMNB = [0.87,0.80,0.73,0.78]

SVMRF = [0.84,0.75,0.79,0.75]

KNNDT = [0.85,0.83,0.80,0.83]

KNNLR = [0.81,0.80,0.77,0.73]

KNNSVM = [0.89,0.87,0.90,0.88]

# Set position of bar on X axis

br1 = np.arange(len(SVMNB))

br2 = [x + barWidth for x in br1]

br3 = [x + barWidth for x in br2]

br4 = [x + barWidth for x in br3]

br5 = [x + barWidth for x in br4]

# Make the plot

plt.bar(br1, SVMNB, color ='aqua', width = barWidth,

edgecolor ='grey', label ='SVMNB')

plt.bar(br2, SVMRF, color ='turquoise', width = barWidth,

edgecolor ='grey', label ='SVMRF')

plt.bar(br3, KNNDT, color ='mediumspringgreen', width = barWidth,

edgecolor ='grey', label ='KNNDT')

plt.bar(br4, KNNLR, color ='blue', width = barWidth,

edgecolor ='grey', label ='KNNLR')

plt.bar(br5, KNNSVM, color ='royalblue', width = barWidth,

edgecolor ='grey', label ='KNNSVM')

# giving title to the plot

plt.title("Precision for 41 features", fontweight ='bold', fontsize = 15)

# Adding Xticks

plt.xlabel('Attacks', fontweight ='bold', fontsize = 15)

plt.ylabel('Precision', fontweight ='bold', fontsize = 15)


plt.xticks([r + barWidth for r in range(len(SVMNB))],

['DoS', 'Probe', 'R2L', 'U2R'])

plt.legend()

plt.show()

Specificity for 10 features:

import numpy as np

import matplotlib.pyplot as plt

import matplotlib.colors as mcolors

# set width of bar

barWidth = 0.15

fig = plt.subplots(figsize =(15, 8))

# set height of bar

SVMNB = [0.93,0.88,0.84,0.91]

SVMRF = [0.89,0.83,0.88,0.94]

KNNDT = [0.95,0.94,0.93,0.91]

KNNLR = [0.91,0.92,0.96,0.89]

KNNSVM = [1,0.98,1,0.99]

# Set position of bar on X axis

br1 = np.arange(len(SVMNB))

br2 = [x + barWidth for x in br1]

br3 = [x + barWidth for x in br2]

br4 = [x + barWidth for x in br3]

br5 = [x + barWidth for x in br4]

# Make the plot

plt.bar(br1, SVMNB, color ='aqua', width = barWidth,

edgecolor ='grey', label ='SVMNB')

plt.bar(br2, SVMRF, color ='turquoise', width = barWidth,

edgecolor ='grey', label ='SVMRF')

plt.bar(br3, KNNDT, color ='mediumspringgreen', width = barWidth,


edgecolor ='grey', label ='KNNDT')

plt.bar(br4, KNNLR, color ='blue', width = barWidth,

edgecolor ='grey', label ='KNNLR')

plt.bar(br5, KNNSVM, color ='royalblue', width = barWidth,

edgecolor ='grey', label ='KNNSVM')

# giving title to the plot

plt.title("Specificity for 10 features", fontweight ='bold', fontsize = 15)

# Adding Xticks

plt.xlabel('Attacks', fontweight ='bold', fontsize = 15)

plt.ylabel('Specificity', fontweight ='bold', fontsize = 15)

plt.xticks([r + barWidth for r in range(len(SVMNB))],

['DoS', 'Probe', 'R2L', 'U2R'])

plt.legend(loc ="upper right")

plt.show()

Specificity for 41 features:

You might also like