繁体   English   中英

评估多个机器学习模型的正确方法

[英]Correct way of evaluating multiple machine learning models

我正在为我想要评估多个模型的机器学习项目在 Python 中编写一个 QARegression 模块。 假设,这是一个图像识别 model 在位于多个文件夹中的多个图像上运行。

 - folder-1
   - img-1
   - img-2
   - img-3
 - folder-2
   - img-1
   ......

我这样写有关系吗

for eachFolder in FolderList:
    for eachImage in ImageList:
        for eachModel in ModelList:
            evaluate(predicted, GroundTruth)

或者

for eachModel in ModelList:
    for eachFolder in FolderList:
        for eachImage in ImageList:
            evaluate(predicted, GroundTruth)

我到底想要像这样的 output

model_1 : score1
model_2 : score2
.
.
.

这在以下方面会更好

  1. 运行时复杂度

  2. 正确性

或者根本不重要,我们可以写吗?

这大概取决于外部因素。 如果每个 model 需要很长时间才能加载,您希望尽可能不频繁地加载,因此希望将 model 循环放在外面。 如果每个图像都非常大,您希望尽可能不频繁地加载它们,因此希望图像循环位于 model 循环之外。

他们俩都会评估每个模型。 但是第二个应该是 go。 第二个将采用 model 并评估 model 与所有文件夹中的所有图像。 这比为不同的图像一次又一次地加载模型要好。 此外,使用第一个代码片段评估所有模型也将更加困难。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM