Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 检查输入时出错:预期输入_18有3个维度,但得到了形状为(7210)的数组_Python_Tensorflow_Keras_Neural Network - Fatal编程技术网

Python 检查输入时出错:预期输入_18有3个维度,但得到了形状为(7210)的数组

Python 检查输入时出错:预期输入_18有3个维度,但得到了形状为(7210)的数组,python,tensorflow,keras,neural-network,Python,Tensorflow,Keras,Neural Network,我的原始数据集的形状是(210,8),我试图给出7个独立变量作为 输入我的神经网络以查看它们属于哪个类。 类/类别是目标变量 我已经分离了自变量,并将它们作为数组存储在“df_test”中 df = pd.read_csv('https://raw.githubusercontent.com/siiddd/WheatSeeds/master/Wheat.csv') features = ['Area', 'Perimeter', 'Compactness', 'Length of Kernel

我的原始数据集的形状是(210,8),我试图给出7个独立变量作为 输入我的神经网络以查看它们属于哪个类。 类/类别是目标变量

我已经分离了自变量,并将它们作为数组存储在“df_test”中

df = pd.read_csv('https://raw.githubusercontent.com/siiddd/WheatSeeds/master/Wheat.csv')

features = ['Area', 'Perimeter', 'Compactness', 'Length of Kernel','Width of Kernel', 'Asymmetric Coeff.', 'Length of Kernel Groove']

dftoArray = df[features].to_numpy()
df_test = dftoArray.reshape(7,210)

model = keras.Sequential()

model.add(keras.Input(shape = (7, )))

model.add(keras.layers.Dense(500, activation = 'relu'))
model.add(keras.layers.Dense(1, activation = 'sigmoid'))

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

model.fit(df_test, df['Class'], epochs = 10, validation_split = 0.10)  
这给了我一个错误:

检查输入时出错:预期输入_18有3个维度,但 已获得形状为(7210)的数组


我认为您在重塑
数据帧时犯了一个错误。正如您所说,数据由210个样本组成,每个样本具有8个特征,即数据的形状必须是
(210,8)
。现在,在从
df
中选择所需的列之后,您需要将数据重塑为
(210,7)
,而不是
(7210)
。做这个改变,

df_test = dftoArray.reshape( 210 , 1 )
形状
(210,7)
(7210)
有很大的区别。形状
(7210)
指的是由7个样本组成的数据集,每个样本具有210个特征。事实并非如此