代码之家  ›  专栏  ›  技术社区  ›  mad

Scikits学习svm SVC简单问题

  •  1
  • mad  · 技术社区  · 13 年前

    我有一个问题已经解决了,但我想知道我是不是对的。

    在scikit关于SVM SVC的学习文档中,有一个通过在类中使用权重来管理不平衡数据的示例。

    他们举了一个例子,在svm中通知类的权重。SVC()

        wclf = svm.SVC(kernel='linear', class_weight={1: 10})
    

    但如果在源代码上重现此命令,我会得到以下错误:

        wclf = svm.SVC(kernel='linear', class_weight={1: 10})
        TypeError: __init__() got an unexpected keyword argument 'class_weight'
    

    但是,如果将classes_weight放在fit()函数上,问题就解决了:

        wclf.fit(X, y, class_weight={1: 10})
    

    我说得对吗?有人遇到过这个问题吗?

    1 回复  |  直到 13 年前
        1
  •  2
  •   ehacinom    11 年前

    关键字“class_weight”尚未在SVC的sklearn版本中实现,但它适用于SVC.fit()。sklearn更新其函数的速度有时比您想象的要慢,并且您正在阅读的文档可能是/dev/或/stable/,而不是您的版本。

    推荐文章