Ниже представлена моя модель Keras для наборов данных отслеживания с набором training_x с 4 входами с плавающими значениями и значением training_y с 0 или 1. Для первой эпохи точность достигает около 3,6000e-05. Тогда это дает точность: 0,0000e + 00, когда начинается вторая эпоха для всего процесса. Я не как это исправить. Не могли бы вы дать мне совет?
import numpy as np
import pandas as pd
from keras.models import Sequential
model = Sequential()
from keras.layers import Dense
model.add(Dense(units=128, activation='selu', input_dim=4))
model.add(Dense(units=64, activation='selu'))
model.add(Dense(units=1, activation='softmax'))
model.compile(loss='binary_crossentropy',
optimizer='adam',
metrics=['accuracy'])
CSV_FILE = "ddos.csv"
df = pd.read_csv(CSV_FILE)
df.loc[(df.Label == "ddos"), "Label"] = 1
df.loc[(df.Label == "Benign"), "Label"] = 0
x_train = np.array(df[["Flow Pkts/s", "Flow IAT Mean", "Flow IAT Max", "Flow IAT Min"]])
y_train = np.array(df[["Label"]])
# x_train and y_train are Numpy arrays --just like in the Scikit-Learn API.
model.fit(x_train, y_train, epochs=100, batch_size=128)
Это вывод эпохи 2:
1991296/2000000 [============================>.] - ETA: 0s - loss: nan - accuracy: 3.6157e-05
1994368/2000000 [============================>.] - ETA: 0s - loss: nan - accuracy: 3.6102e-05
1998208/2000000 [============================>.] - ETA: 0s - loss: nan - accuracy: 3.6032e-05
2000000/2000000 [==============================] - 33s 17us/step - loss: nan - accuracy: 3.6000e-05
Epoch 2/100
128/2000000 [..............................] - ETA: 25:27 - loss: nan - accuracy: 0.0000e+00
3840/2000000 [..............................] - ETA: 1:17 - loss: nan - accuracy: 0.0000e+00
8064/2000000 [..............................] - ETA: 49s - loss: nan - accuracy: 0.0000e+00
11776/2000000 [..............................] - ETA: 42s - loss: nan - accuracy: 0.0000e+00
16256/2000000 [..............................] - ETA: 36s - loss: nan - accuracy: 0.0000e+00
20096/2000000 [..............................] - ETA: 34s - loss: nan - accuracy: 0.0000e+00