2013-03-20 66 views
1

我有一个问题,我解决了,但我想知道我是否正确。Scikits-learn svm SVC简单问题

关于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' 

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

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

am I r ight关于这个?有没有人有过这个问题?

+0

您正在使用哪个版本的sklearn? – 2013-03-20 22:44:34

+0

我的版本是0.10.0-1build1 – mad 2013-03-20 22:57:26

+0

我建议尝试当前版本0.13.1。您在文档中提到的示例很可能基于较新的版本,并且功能签名可能已更改。 – 2013-03-22 02:04:32

回答

2

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