【问题标题】:Choosing the best SVM kernel type and parameters using OpenCV on Python在 Python 上使用 OpenCV 选择最佳 SVM 内核类型和参数
【发布时间】:2015-05-21 14:13:05
【问题描述】:

我正在尝试找到更适合我的数据的 SVM 内核类型和参数。我在 Python 上使用 OpenCV,我找到了函数 cv2.SVM.train_auto 来实现这一点,但是我没有找到一个明确的例子来说明如何使用它。

谁能指导我找到最好的内核或解释如何使用 cv2.SVM.train_auto?

【问题讨论】:

    标签: python opencv kernel svm cross-validation


    【解决方案1】:

    我也在寻找该信息,但您可以查看 digits_adjust.py 示例,它使用 train() 而不是 train_auto(),并展示了如何迭代 C 和 gamma 参数以尝试找到最佳参数组合。

    有趣的功能是:

    ...
    def cross_validate(model_class, params, samples, labels, kfold = 3, pool = None):
    ...
        def adjust_SVM(self):
            Cs = np.logspace(0, 10, 15, base=2)
            gammas = np.logspace(-7, 4, 15, base=2)
    ...
                params = dict(C = Cs[i], gamma=gammas[j])
                score = cross_validate(SVM, params, samples, labels)
    ...
    

    【讨论】:

      猜你喜欢
      • 2016-01-13
      • 2014-11-20
      • 1970-01-01
      • 1970-01-01
      • 2016-01-21
      • 2020-04-16
      • 2014-11-28
      • 2019-05-02
      • 2015-04-03
      相关资源
      最近更新 更多