python - 分类神经网络模型未运行 : expected dense_84 to have shape

标签 python machine-learning deep-learning neural-network jupyter-notebook

我有大约 3600 行和 27 列的数据。其中一列中有一个从 1 到 10 的标签,我想根据其余列进行预测。

从头开始建模:

import tensorflow as tf
sess = tf.Session()
import keras
import pandas
import sklearn
import matplotlib

import pandas as pd

df = pd.read_csv('data.csv')

dataset = df.values

X = dataset[:,0:27]

Y = dataset[:, 8] ///I want column 8 to be my label column

from sklearn import preprocessing

min_max_scaler = preprocessing.MinMaxScaler()
X_scale = min_max_scaler.fit_transform(X)

from sklearn.model_selection import train_test_split
X_train, X_val_and_test, Y_train, Y_val_and_test = train_test_split(X_scale, Y, test_size=0.3)
X_val, X_test, Y_val, Y_test = train_test_split(X_val_and_test, Y_val_and_test, test_size=0.5)

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

model = Sequential([    
    Dense(32, activation='relu', input_shape=(27,)),    
    Dense(32, activation='relu'),    
    Dense(1, activation='softmax'),])

model.compile(optimizer='adam',              
              loss='categorical_crossentropy',              
              metrics=['accuracy'])


Ytest = keras.utils.to_categorical(Y_train,)
print('The one hot label is:', Y_train[5])

hist = model.fit(X_train, Ytest,
                 batch_size=32, epochs=20,          
                 validation_data=(X_val, Y_val))

错误:

ValueError: Error when checking target: expected dense_84 to have shape (1,) but got array with shape (11,)

我完全不知道这里出了什么问题。可以朝正确的方向轻推。

最佳答案

有两件事:

1 - 看起来您忘记对 Y_train 进行一次热编码,错误表明您的最后一层需要形状为 [batch_size, 11] 的张量。

2 - 最后一个密集层应该有 11 个节点而不是 1

关于python - 分类神经网络模型未运行 : expected dense_84 to have shape,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60156738/

相关文章:

python - 管理具有不同内存使用情况的 Python 多进程进程

text - 如何将概率转换为分数?

postgresql - 使用 MADlib-postgre 训练线性回归模型时如何使用非数字自变量?

python - 如何在 Tensorflow 中使用多个输入来应用 tf.map_fn

python - 从 Sublime Text 2 运行 .py 文件

python - 如何将输入放入记事本并在 python2.7 中打开并使用这些值

python - Pandas groupby 然后填充缺失的行

machine-learning - 在 weka 中找不到 libsvm 类

deep-learning - Keras:单个图像的model.predict

javascript - 在 tensorflow js api 0.15.3 中设置卷积层的配置