【发布时间】:2021-12-26 00:53:17
【问题描述】:
这个想法是制作一个可以检测是否发生攻击的程序
我在拟合模型时卡住了
导入的库
from keras.models import Sequential
from keras.layers import Dense
from keras.layers import Flatten
from keras.layers.convolutional import Conv1D
from keras.layers.convolutional import MaxPooling1D
from keras.layers.embeddings import Embedding
from keras.preprocessing import sequence
import pandas as pd
数据集详情:
https://www.unsw.adfa.edu.au/unsw-canberra-cyber/cybersecurity/ADFA-NB15-Datasets/bot_iot.php
https://ieee-dataport.org/documents/bot-iot-dataset
正如您在攻击栏中看到的那样 我想让程序判断是否发生了攻击
这是模型
model = Sequential()
model.add(Conv1D(128, 5, activation='relu'))
model.add(MaxPooling1D())
model.add(Dense(12, input_dim=8, activation='relu'))
model.add(Dense(10,activation='relu'))
model.add(Dense(1,activation='sigmoid'))
model.add(Flatten())
模型编译
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
模型配件部分(这是我的问题)
model.fit(train, test, epochs=50, batch_size=30)
错误:
ValueError: Data cardinality is ambiguous:
x sizes: 2934817
y sizes: 733705
Make sure all arrays contain the same number of samples.
从错误消息中可以看出文件的行数不同
所以我尝试只取测试文件,并将其中的 2 部分作为第一部分
从第 0 列到第 16 列
另一个是 16 岁
x = test.iloc[:,0:16]
y = test.iloc[:,16]
model.fit(x, y, epochs=50, batch_size=30)
错误:
ValueError: Failed to convert a NumPy array to a Tensor (Unsupported object type int).
我已经尝试将它全部设为浮动,但它没有解决仍然有同样的问题
【问题讨论】:
标签: python keras deep-learning