Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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 从keras生成器获取真实标签_Python_Scikit Learn_Keras - Fatal编程技术网

Python 从keras生成器获取真实标签

Python 从keras生成器获取真实标签,python,scikit-learn,keras,Python,Scikit Learn,Keras,我想使用创建一个keras模型的混淆矩阵 在训练一个模型之后,我可以用它来获得测试数据集的预测,这给了我y\u pred。如何从数据生成器中获取相应的真值标签,y\u true?生成器。类将以稀疏格式提供观察值。您可能需要密集格式(即一种热编码格式)。您可以通过以下方式获得: import pandas as pd pd.get_dummies(pd.Series(generator.classes)).to_dense() 但是请注意:在生成预测和获取观察到的类之前,必须将生成器的shuff

我想使用创建一个keras模型的混淆矩阵


在训练一个模型之后,我可以用它来获得测试数据集的预测,这给了我
y\u pred
。如何从数据生成器中获取相应的真值标签,
y\u true

生成器。类将以稀疏格式提供观察值。您可能需要密集格式(即一种热编码格式)。您可以通过以下方式获得:

import pandas as pd
pd.get_dummies(pd.Series(generator.classes)).to_dense()

但是请注意:在生成预测和获取观察到的类之前,必须将生成器的
shuffle
属性设置为
False
,否则您的预测和观察将无法对齐

创建您自己的或内置的数据生成器后,使用经过培训的模型进行预测:

true_labels = data_generator.classes
predictions = model.predict_generator(data_generator)
sklearn的混淆矩阵需要一个一维标签数组,因此您必须使用
np.argmax()

然后您可以直接在
混淆矩阵
函数中使用这些变量

cm = sklearn.metrics.confusion_matrix(y_true, y_pred)
您可以使用下面的示例
plot\u composition\u matrix()
函数对其进行绘图:

cm = sklearn.metrics.confusion_matrix(y_true, y_pred)