Python Kfold交叉验证值错误:形状(无,1)和(无,3)不兼容
我正在对X光图像执行KFold交叉验证。 我有一个数据集的csv文件,其中基本上有一个名为“Label_1_Virus_category”的列,有3个值(正常值、细菌值、病毒值)中的一个。 所有图像都在Train And Test文件夹中(没有任何其他子文件夹) 因此,我需要在密集的模型层中有3个输出节点Python Kfold交叉验证值错误:形状(无,1)和(无,3)不兼容,python,tensorflow,keras,k-fold,Python,Tensorflow,Keras,K Fold,我正在对X光图像执行KFold交叉验证。 我有一个数据集的csv文件,其中基本上有一个名为“Label_1_Virus_category”的列,有3个值(正常值、细菌值、病毒值)中的一个。 所有图像都在Train And Test文件夹中(没有任何其他子文件夹) 因此,我需要在密集的模型层中有3个输出节点 df.info给出以下输出: ID object X_ray_image_name object Label
df.info
给出以下输出:
ID object
X_ray_image_name object
Label object
Dataset_type object
Label_2_Virus_category object
Label_1_Virus_category object
dtype: object
所以我创建dataframe作为-
my_input_col = ['X_ray_image_name']
X = train_data[train_data['Dataset_type']=='TRAIN'][my_input_col]
print(X.shape)
my_out_col = ['Label_1_Virus_category']
Y = train_data[train_data['Dataset_type']=='TRAIN'][my_out_col]
错误-
---> 34 history = model.fit(train_data_generator, epochs=20, batch_size=batch_size, callbacks=callbacks_list, validation_data=valid_data_generator)
ValueError: Shapes (None, 1) and (None, 3) are incompatible
我的列车数据\u生成器
和有效数据\u生成器
是-
train_data_generator = idg.flow_from_dataframe(training_data, directory = image_dir,
x_col = "X_ray_image_name", y_col = "Label_1_Virus_category",
class_mode = "raw", shuffle = True)
valid_data_generator = idg.flow_from_dataframe(validation_data, directory = image_dir,
x_col = "X_ray_image_name", y_col = "Label_1_Virus_category",
class_mode = "raw", shuffle = True)
如果我将最终致密层中的单位从3改为1,那么这个问题就解决了,但我觉得这是错误的
多谢各位