使用神经元网络进行分类

时间:2020-01-30 15:01:40

标签: python machine-learning neural-network classification

我已经建立了用于分类的NN,但是在尝试编译时,输入和输出的尺寸出现问题:

from keras.models import Sequential
from keras.layers import Dense

# data splited into input (X) and output (y) variables
model = Sequential()
model.add(Dense(12, input_dim=456, activation='relu'))
model.add(Dense(8, activation='relu'))
model.add(Dense(8, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

这是我的yX的尺寸

print(y.shape, X.shape)
(8000, 1) (8000, 456, 3)

我有8000个子集,其中包含456个粒子(x,y,z); 并且我有y范围从0到7的标签;这也是为什么我的输出层有8个节点的原因。

但是当我适合的时候

model.fit(X, y, epochs=15, batch_size=10)

我不明白为什么会发生此错误:

ValueError:检查输入时出错:预期density_26_input具有2维,但数组的形状为(8000,456,3)

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

要回答您的问题,您可以通过执行以下操作来实现自己的目标:

pos == a.begin()

编辑:

我认为您正在寻找的是那种架构:

clear()

只输出8个标签