如何初始化混淆矩阵和分类报告的y_true和y_pred?我已经使用了flow_from_dataframe。
我的代码如下:
train_set = train_datagen.flow_from_dataframe(
train,
path,
x_col="image_name",
y_col="level",
class_mode="raw",
color_mode="rgb",
batch_size=32,
target_size=(64, 64))
val_set = val_datagen.flow_from_dataframe(
val,
path,
x_col="image_name",
y_col="level",
class_mode="raw",
color_mode="rgb",
batch_size=32,
target_size=(64, 64))
from sklearn.metrics import classification_report
from sklearn.metrics import confusion_matrix
Y_pred = model.predict(val_set)
y_pred = np.argmax(Y_pred, axis=1)
print('Confusion Matrix')
print(confusion_matrix(val_set.classes, y_pred))
print('Classification Report')
class_labels = list(val_set.class_indices.keys())
print(classification_report(val_set.classes, y_pred, target_names=class_labels))
我得到的错误为AttributeError:'DataFrameIterator'对象没有'classes'属性。
我已经尝试了很长时间了。我得到了flow_from_directory的结果,但没有得到flow_from_dataframe的结果。
请指点。
1条答案
按热度按时间v64noz0r1#
请尝试下面的代码。注意在瓦尔_set = val_datagen.flow_from_dataframe(...)中设置参数shuffle=False