我有以下数据集,我正在考虑使用RNN/LSTM对协议进行分类。数据包含只有两个提供字段的数据包捕获特性:设备的MAC地址的of和特定协议的数据包的到达时间(IAT)。
例如,来自特定设备类型的视图的http和ntp标记数据如下所示:
# MAC, ConnectivityIAT -> protocol
ff:f1:f2, 10, -> http
ff:f1:f2, 20, -> http
ff:f1:f2, 30, -> http
ff:f1:f2, 0, -> http
ff:f1:f2, 3, -> ntp
ff:f1:f2, 6, -> ntp
ff:f1:f2, 9, -> ntp任务是在以下情况下预测正确的类:
ff:ff1:f2, 10 -> ?都被看到了。
问题:
发布于 2018-04-13 09:09:10
来接近解决方案
考虑到您的数据,RNN/LSTM看起来并不是最明智的选择。
看起来您有两个特性和一个二进制输出。对于可变长度的输入,RNN/LSTM是有用的,否则,它们就有点过火了。
此外,在使用深度学习方法之前,请确保您有合理的数据。他们通常有很多参数要训练,如果你没有足够的数据点,这可能很难做到。
如果你想坚持神经网络,我会说一个普通的多层感知器可能完成这项工作。如果您对其他选项开放,我将尝试这个特定问题的决策树。
你可以用一个热编码。有很多实现(即科学知识-学习),或者您可以自己做。
发布于 2017-08-16 03:14:17
可以使用LabelEncoder转换OUI的分类值。看起来您有两个特性(OUI和IAT)和固定数量的类/输出。您可以使用MLP分类器来解决这个问题。在喀拉斯:
model = Sequential()
model.add(Dense(32, input_shape=(num_features,)))
model.add(Activation('relu'))
model.add(Dense(num_classes))
model.add(Activation('softmax'))
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])这只是一个例子,它更好地创建一个更深的架构,并增加正则化(例如l1/l2重量惩罚或退出),以防止过度拟合。
https://datascience.stackexchange.com/questions/20452
复制相似问题