我有一个问题我已经解决了,但是我想知道我是否正确。
在scikit关于SVM SVC的学习文档中,有一个通过在类中使用权重来管理不平衡数据的示例。
他们举了一个例子,其中类的权重在svm中被告知。
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})
我说的对吗?有人遇到过这个问题吗?
关键字'class_weight'尚未在SVC的sklearn版本中实现,但它适用于SVC.fit()。Sklearn更新它们的函数有时比你想象的要慢,你正在阅读的文档可能是/dev/或/stable/,而不是你的版本。