【问题标题】:What is the idea behind an empty model?空模型背后的想法是什么?
【发布时间】:2021-12-22 12:29:55
【问题描述】:

我必须使用 python 和 cv2 对图像进行分类。在训练模型之前,我们必须先创建一个空模型使用

cv2.ml.KNearest_create()

我知道这行代码创建了一个空模型,但这是什么意思?当我想到一个模型时,我通常会想象一个像 y = mx + b 或 y = ax^2 + bx + c 这样的方程。我很好奇空模型对象的外观以及如何使用它来拟合训练数据。

【问题讨论】:

  • 用非技术术语来说,它只是在内存中创建一个结构,准备好填充实际的特征和权重,或者模型使用的任何东西。为简单起见,假设它分配了features = dict(),随后的训练将使用实际特征作为键并将它们的权重作为值填充这个变量。

标签: python opencv machine-learning machine-learning-model


【解决方案1】:

KNearest_create 函数实例化了 k-最近邻类。这与实例化以下“示例”类没有什么不同:

class Example(object):
    def __init__(self):
        self.data = []

example = Example()

在某些机器学习(例如神经网络)的情况下,您可能会使用随机数据初始化权重。但是,这些都不必在类的实例化期间进行。调用 fit/train 函数时可能不会。这是编程中的一种范式。

您可以查看Sklearn's implementation of K Nearest Neightbor,看看除了声明变量之外没有什么其他事情。

【讨论】:

    猜你喜欢
    • 2014-06-09
    • 2011-05-19
    • 2012-07-03
    • 1970-01-01
    • 2015-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多