Guest User

Untitled

a guest
Jun 16th, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.51 KB | None | 0 0
  1.  
  2.  
  3.  
  4. import numpy as np
  5.  
  6.  
  7. # In[2]:
  8.  
  9.  
  10. import pandas as pd
  11.  
  12.  
  13. # In[5]:
  14.  
  15. # # Usando Keras Redes Neurais
  16.  
  17. # In[ ]:
  18.  
  19.  
  20. #previsores = base.iloc[:, 1:4].values
  21.  
  22.  
  23. # In[3]:
  24.  
  25.  
  26. test =pd.read_csv('/Radhe1/CEFET/MineraçãoDados_CEFET/Projeto/The UNSW-NB15 data set description/UNSW_NB15_testing-set.csv')
  27.  
  28.  
  29. # In[4]:
  30.  
  31.  
  32. train = pd.read_csv('/Radhe1/CEFET/MineraçãoDados_CEFET/Projeto/The UNSW-NB15 data set description/UNSW_NB15_training-set.csv')
  33.  
  34.  
  35. # In[5]:
  36.  
  37.  
  38. previsores_train = train.iloc[:,train.columns.isin(('sload','dload',
  39.                                                    'spkts','dpkts','swin','dwin','smean','dmean',
  40. 'sjit','djit','sinpkt','dinpkt','tcprtt','synack','ackdat','ct_srv_src','ct_srv_dst','ct_dst_ltm',
  41.  'ct_src_ltm','ct_src_dport_ltm','ct_dst_sport_ltm','ct_dst_src_ltm')) ].values
  42.  
  43.  
  44. # In[6]:
  45.  
  46.  
  47. classe_train = train.iloc[:, -1].values
  48.  
  49.  
  50. # In[48]:
  51.  
  52.  
  53. previsores_train
  54.  
  55.  
  56. # In[46]:
  57.  
  58.  
  59. previsores_train.shape
  60.  
  61.  
  62. # In[7]:
  63.  
  64.  
  65. previsores_test = test.iloc[:,test.columns.isin(('sload','dload',
  66.                                                    'spkts','dpkts','swin','dwin','smean','dmean',
  67. 'sjit','djit','sinpkt','dinpkt','tcprtt','synack','ackdat','ct_srv_src','ct_srv_dst','ct_dst_ltm',
  68.  'ct_src_ltm','ct_src_dport_ltm','ct_dst_sport_ltm','ct_dst_src_ltm')) ].values
  69.  
  70.  
  71. # In[ ]:
  72.  
  73.  
  74. #df.loc[:, df.columns.isin(list('BCD'))]
  75.  
  76.  
  77. # In[ ]:
  78.  
  79.  
  80. #https://stackoverflow.com/questions/13021654/get-column-index-from-column-name-in-python-pandas
  81.  
  82.  
  83. # In[8]:
  84.  
  85.  
  86. classe_test = test.iloc[:, -1].values
  87.  
  88.  
  89. # In[47]:
  90.  
  91.  
  92. classe_test
  93.  
  94.  
  95. # In[ ]:
  96.  
  97.  
  98. train.columns
  99.  
  100.  
  101. # In[ ]:
  102.  
  103.  
  104. test.columns
  105.  
  106.  
  107. # In[ ]:
  108.  
  109.  
  110. train.columns.get_loc('sload')
  111.  
  112.  
  113. # In[ ]:
  114.  
  115.  
  116.  
  117.  
  118.  
  119. # In[ ]:
  120.  
  121.  
  122.  
  123.  
  124.  
  125. # In[50]:
  126.  
  127.  
  128. X_train2,y_train2 = previsores_train,classe_train
  129.  
  130. X_test2,y_test2 = previsores_test,classe_test
  131.  
  132.  
  133. # In[40]:
  134.  
  135.  
  136.  
  137.  
  138.  
  139. # In[11]:
  140.  
  141.  
  142. import keras
  143.  
  144.  
  145. # In[12]:
  146.  
  147.  
  148. from keras.models import Sequential
  149.  
  150.  
  151. # In[13]:
  152.  
  153.  
  154. from keras.layers import Dense
  155.  
  156.  
  157. # In[14]:
  158.  
  159.  
  160. classificador_rede_neural = Sequential()
  161.  
  162.  
  163. # # Camadas Ocultas e de Saída
  164.  
  165. # camadas ocultas = (entradas + saídas)/2 #estimando o numero de neurônios em camada oculta
  166. #
  167. # temos:len(train.columns) - 1   atributos previsores
  168. #
  169. # 1 classe
  170.  
  171. # In[51]:
  172.  
  173.  
  174. features = previsores_train.shape[1] #num de atributos previsores
  175.  
  176.  
  177. # In[58]:
  178.  
  179.  
  180. print('numero de features', features)
  181.  
  182.  
  183. # In[32]:
  184.  
  185.  
  186. camadas_ocultas = round((features +1)/2 )
  187.  
  188.  
  189. # In[33]:
  190.  
  191.  
  192. print(camadas_ocultas)
  193.  
  194.  
  195. # In[ ]:
  196.  
  197.  
  198. #input_dim é o número de atributos
  199.  
  200.  
  201. # In[72]:
  202.  
  203.  
  204. classificador_rede_neural.add(Dense(units=camadas_ocultas, activation='relu',input_dim = features ))#primeira camada
  205.  
  206.  
  207. # In[65]:
  208.  
  209.  
  210. classificador_rede_neural.add(Dense(units=camadas_ocultas, activation='relu' ))#segunda camada
  211.  
  212.  
  213. # In[66]:
  214.  
  215.  
  216. classificador_rede_neural.add(Dense(units=1, activation='sigmoid' ))#camada de saída. a saída é binária, logo units=1
  217.  
  218.  
  219. # In[ ]:
  220.  
  221.  
  222. #sigmoid pq a saida é binaria: gera uma probabilidade
  223.  
  224.  
  225. # In[67]:
  226.  
  227.  
  228. classificador_rede_neural.compile(optimizer='adam',loss='binary_crossentropy',metrics=['accuracy'])
  229.  
  230.  
  231. # In[ ]:
  232.  
  233.  
  234. #classificador_rede_neural.fit(X_train2.values,y_train2.values,batch_size=10,epochs =100)#é treino: trocar
  235.  
  236.  
  237. # In[38]:
  238.  
  239.  
  240. X_train2.shape
  241.  
  242.  
  243. # In[39]:
  244.  
  245.  
  246. y_train2.shape
  247.  
  248.  
  249. # In[69]:
  250.  
  251.  
  252. #classificador_rede_neural.fit(X_train2,y_train2,batch_size=10, epochs=10000)#é treino: trocar
  253.  
  254.  
  255. # In[73]:
  256.  
  257.  
  258. classificador_rede_neural.fit(X_train2,y_train2)#é treino: trocar
Advertisement
Add Comment
Please, Sign In to add comment