gpt4 book ai didi

python - Keras 准确率没有提高超过 50%

转载 作者:太空宇宙 更新时间:2023-11-04 05:07:15 25 4
gpt4 key购买 nike

我正在尝试在包含正常和恶意网络数据包的数据集上构建二进制分类算法(输出为 0 或 1)。数据集形状(将 IP @'s 和六进制转换为十进制后)为: IP src, IP dest, ports, TTL, etc..

注意:最后一列是输出。

Keras 模型是:

from keras.models import Sequential
from keras.layers import Dense
from sklearn import preprocessing
import numpy
import os

os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'
seed = 4
numpy.random.seed(seed)

dataset = numpy.loadtxt("NetworkPackets.csv", delimiter=",")
X = dataset[:, 0:11].astype(float)
Y = dataset[:, 11]

model = Sequential()
model.add(Dense(12, input_dim=11, kernel_initializer='normal', activation='relu'))
model.add(Dense(12, kernel_initializer='normal', activation='relu'))
model.add(Dense(1, kernel_initializer='normal', activation='relu'))

model.compile(loss='binary_crossentropy', optimizer='Adam', metrics=['accuracy'])
model.fit(X, Y, nb_epoch=100, batch_size=5)

scores = model.evaluate(X, Y)
print("\n%s: %.2f%%" % (model.metrics_names[1], scores[1]*100))

然而,我尝试了不同的优化器、激活函数、层数,但准确率最多达到0.5: Result

即使我尝试使用网格搜索来搜索最佳参数,但最大值为 0.5。有谁知道为什么输出总是那样?我该如何增强它。提前致谢!

最佳答案

您的模型甚至没有优于随机机会模型,因此数据中一定有问题。可能有两种可能

1 - 您没有为您的模型提供足够的训练样本,使其无法识别区分正常和恶意的重要特征。

2 - 数据本身的信息量不足以得出您正在寻找的决策。

关于python - Keras 准确率没有提高超过 50%,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44066044/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com