1

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

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

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

4

1 回答 1

2

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

于 2015-01-17T00:09:06.543 回答