【问题标题】:how is weighs defined in opencv svm如何在 opencv svm 中定义权重
【发布时间】:2015-01-12 10:28:30
【问题描述】:

我有一个关于 svm 权重的简单问题。我正在做一个二进制分类。我想为两个班级设置不同的权重。我的代码是这样的

Mat weights = (Mat_<double>(2,1)<<1,2);
CvMat weight = weights;
param.class_weights = &weight;

我想知道哪个重量适合哪个班级?我不是来自opencv文档。谢谢。

【问题讨论】:

  • 我认为它们是您训练的每个样本的权重。例如,如果您有 n 个变量并使用 m 个样本进行训练,那么您的权重可能是 m x n。这是我的猜测。
  • 也许你可以先保存 svm 模型。并检查 class_labels 项目。 class_weights 和 class_labels 应该是相同的顺序

标签: opencv svm


【解决方案1】:

classWeights – C_SVC 问题中的可选权重,分配给特定的类。它们乘以 C,因此类#i 的参数 C 变为 classWeights(i) * C。因此这些权重会影响不同类的错误分类惩罚。权重越大,对相应类别数据错误分类的惩罚越大。

【讨论】:

    猜你喜欢
    • 2013-02-08
    • 2013-10-12
    • 2014-04-05
    • 2023-03-21
    • 2018-01-20
    • 2016-10-31
    • 2015-04-09
    • 2013-02-26
    • 1970-01-01
    相关资源
    最近更新 更多