Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.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
Deep learning 如何在深度学习中获得测试数据的分类器精度_Deep Learning_Deeplearning4j_Dl4j - Fatal编程技术网

Deep learning 如何在深度学习中获得测试数据的分类器精度

Deep learning 如何在深度学习中获得测试数据的分类器精度,deep-learning,deeplearning4j,dl4j,Deep Learning,Deeplearning4j,Dl4j,我正在尝试使用DL4J进行深入学习,并提供了带有标签的培训数据。然后,我尝试通过分配虚拟标签来发送测试数据。如果不提供虚拟标签,则会产生运行时错误。我不明白为什么我们需要为测试数据指定标签 此外,我想知道所做预测的准确性。从我在dl4j文档中看到的情况来看,有一种被称为混淆矩阵的东西生成了。据我所知,这只是让我们了解培训数据对系统的培训效果。有没有办法获得测试数据预测的准确性?由于我们为测试数据提供了一个虚拟标签,我觉得混淆矩阵也没有正确生成。首先,如果您不知道正确的标签是什么,您如何测试网络是

我正在尝试使用DL4J进行深入学习,并提供了带有标签的培训数据。然后,我尝试通过分配虚拟标签来发送测试数据。如果不提供虚拟标签,则会产生运行时错误。我不明白为什么我们需要为测试数据指定标签

此外,我想知道所做预测的准确性。从我在dl4j文档中看到的情况来看,有一种被称为混淆矩阵的东西生成了。据我所知,这只是让我们了解培训数据对系统的培训效果。有没有办法获得测试数据预测的准确性?由于我们为测试数据提供了一个虚拟标签,我觉得混淆矩阵也没有正确生成。

首先,如果您不知道正确的标签是什么,您如何测试网络是否输出了正确的标签?在培训和测试时,您应该始终有一个标签,因为这样您可以断言输出是否正确

第二个问题,我在dl4j网页上找到了:

Evaluation eval = new Evaluation(3);
INDArray output = model.output(testData.getFeatures());
eval.eval(testData.getLabels(), output);
log.info(eval.stats());
据称,此
.stats()
方法显示混淆矩阵条目(每行一个)、准确性、精确度、召回率和F1分数。此外,评估类还可以计算并返回以下值:

Confusion Matrix
False Positive/Negative Rate
True Positive/Negative
Class Counts
F-beta, G-measure, Matthews Correlation Coefficient and more

我希望这对您有所帮助。

您可以在这里的DL4J开发社区找到可以回答您问题的人:

感谢Novak的快速回答。。。我仍然不清楚为什么我们要提供测试数据的标签?对于培训数据,提供标签是可以理解的。但是对于测试数据,分类器应该预测标签-不是吗?分类器也在训练中预测标签。在训练中,您告诉分类器预测标签,然后将预测的标签与真实(正确)标签进行比较。此外,在培训中,您执行反向传播。测试阶段用于评估您的模型的培训效果和性能。它还需要有标签才能做到这一点。但在测试阶段,您不会执行反向传播,因为在那个阶段,模型不再学习,您只想看看它的性能如何。我希望现在更清楚了。