Какие гиперпараметры я должен дать, чтобы получить лучшие результаты по авто-кодам для классификации интернет-трафика

Мой набор данных состоит из строк в виде экземпляров / пакетов и имеет 7 атрибутов ip для столбцов.

X = data.iloc[ : , [0,1,2,3,4,5,6]].values
X = X.reshape([instances,flow_size,attributes])

# Getting label values
Y = data['label'].values
# Reshaping into an array with each row having a number representing one of num_classes elements
Y = Y.reshape(-1,1)

# OneHot encoding
onehot_encoder = OneHotEncoder(sparse=False, categories='auto')
onehot_encoded = onehot_encoder.fit_transform(Y)
Y = onehot_encoded
Y.shape   

Вот как я сформировал свои данные и мне нужен альтернативный метод, поскольку я получаю точность 33,33% для 3 меток, что означает, что есть некоторая проблема с выбором функции автоэнкодера. Ниже приведен мой код автоматического кодера

input_dim = X_train.shape [1] encoding_dim = 7

input_layer = Input(shape=(input_dim, ))
encoder = Dense(encoding_dim, activation="tanh", activity_regularizer=regularizers.l1(10e-5))(input_layer)
encoder = Dense(int(encoding_dim), activation="relu")(encoder)
#encoder = Dense(int(encoding_dim-2), activation="relu")(encoder)
code = Dense(int(encoding_dim-4), activation='tanh')(encoder)
#decoder = Dense(int(encoding_dim-2), activation='tanh')(code)
decoder = Dense(int(encoding_dim), activation='tanh')(code)
decoder = Dense(7, activation='relu')(decoder)
autoencoder = Model(inputs=input_layer, outputs=decoder)

autoencoder.compile(loss = 'categorical_crossentropy', optimizer='adam',metrics = ['accuracy'])
#model.add(Dense(num_classes,activation='softmax'))
print(autoencoder.summary())
0
задан 11 September 2019 в 11:49

0 ответов

Другие вопросы по тегам:

Похожие вопросы: