我有6列和100行的示例数据(所有值都是整数)。有20个类别的输入数据被分类。这就是我尝试建立的模型:
model = Sequential()
model.add(Dense(50,input_shape=X.shape[1:],activation='relu'))
model.add(Dense(20,activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='rmsprop',
metrics=['accuracy'])
model.summary()
model.fit(X, Y, epochs=1000, verbose=0)
predictions=model.predict(test_data)但是,我得到了一个错误:
Error when checking target: expected dense_2 to have shape (20,) but got array with shape (1,)我有两个问题:
发布于 2019-01-18 06:29:42
您需要使用Y ( to_categorical,文档)将其转换为二进制类矩阵。
import sklearn.datasets
X,Y = sklearn.datasets.make_classification(n_samples=100, n_features=6, n_redundant=0,n_informative=6, n_classes=20)
import numpy as np
from keras import Sequential
from keras.layers import Dense
from keras.utils import to_categorical
from keras import backend as K
K.clear_session()
model = Sequential()
model.add(Dense(50,input_dim=X.shape[1],activation='softmax'))
model.add(Dense(20,activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='rmsprop',
metrics=['accuracy'])
model.summary()
model.fit(X, to_categorical(Y), epochs=1000, verbose=1) # <---此外,您也可以使用雪橇。
https://stackoverflow.com/questions/54248280
复制相似问题