【问题标题】:Scikits-learn svm SVC simple issuescikits-learn svm SVC 简单问题
【发布时间】:2013-03-09 17:36:28
【问题描述】:

我有一个问题我解决了,但我想知道我是否正确。

在 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})

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

【问题讨论】:

  • 您使用的是哪个版本的 sklearn?
  • 我的版本是0.10.0-1build1
  • 我建议尝试当前版本 0.13.1。您在文档中引用的示例可能基于较新的版本,并且函数签名可能已更改。

标签: python svm scikit-learn svc


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2013-03-03
    • 2017-04-26
    • 2012-06-19
    • 2015-03-10
    • 2012-03-27
    • 2016-10-29
    • 2020-07-05
    • 2012-03-27
    • 2019-10-05
    相关资源
    最近更新 更多