学习 python 代码
Learning python code
我将此代码与 keras 一起用于特征学习,现在我想做分类,我不知道如何将 softmax 层添加到我的自动编码器,请帮助我
自动编码器不适用于class化。
他们只是将数据压缩为一种编码格式,这样您以后就可以将这些数据用于其他事情(其他事情之一可能是 class化,但是为此创建一个自动编码器真的毫无意义,除非您数据的用途不仅仅是 classification)
要根据您的输入数据创建一个 classificator,只需制作一个以您想要的 classes 数量结尾的模型。
对于"normal"和"attack"(只有两个classes),你可以在一个class中结束模型并使0 be normal
和1 be attack
。
input_tensor = Input(shape=(input_size,))
output_tensor = Dense(40, activation="relu", activity_regularizer=regularizers.l1(10e-5))(input_tensor)
output_tensor= Dense(30, activation="relu")(output_tensor)
output_tensor = Dense(20, activation="relu")(output_tensor)
output_tensor= Dense(10, activation="relu")(output_tensor)
output_tensor= Dense(5, activation="relu")(output_tensor)
output_tensor= Dense(3, activation="relu")(output_tensor)
output_tensor= Dense(1,activation='sigmoid')(output_tensor)
model = Model(input_tensor,output_tensor)
我使用了 1 个输出 (Dense(1)),我希望它是 0(正常)或 1(攻击)。 'sigmoid' 激活对于将结果保持在此范围内或 0 和 1 内很重要。
现在您只需确保您的 y_true
数据是一个形状为 (records,)
或 (records,1)
的数组,具体取决于模型。
我将此代码与 keras 一起用于特征学习,现在我想做分类,我不知道如何将 softmax 层添加到我的自动编码器,请帮助我
自动编码器不适用于class化。
他们只是将数据压缩为一种编码格式,这样您以后就可以将这些数据用于其他事情(其他事情之一可能是 class化,但是为此创建一个自动编码器真的毫无意义,除非您数据的用途不仅仅是 classification)
要根据您的输入数据创建一个 classificator,只需制作一个以您想要的 classes 数量结尾的模型。
对于"normal"和"attack"(只有两个classes),你可以在一个class中结束模型并使0 be normal
和1 be attack
。
input_tensor = Input(shape=(input_size,))
output_tensor = Dense(40, activation="relu", activity_regularizer=regularizers.l1(10e-5))(input_tensor)
output_tensor= Dense(30, activation="relu")(output_tensor)
output_tensor = Dense(20, activation="relu")(output_tensor)
output_tensor= Dense(10, activation="relu")(output_tensor)
output_tensor= Dense(5, activation="relu")(output_tensor)
output_tensor= Dense(3, activation="relu")(output_tensor)
output_tensor= Dense(1,activation='sigmoid')(output_tensor)
model = Model(input_tensor,output_tensor)
我使用了 1 个输出 (Dense(1)),我希望它是 0(正常)或 1(攻击)。 'sigmoid' 激活对于将结果保持在此范围内或 0 和 1 内很重要。
现在您只需确保您的 y_true
数据是一个形状为 (records,)
或 (records,1)
的数组,具体取决于模型。