我使用Python 2.7与sklearn和使用rbf内核sklearn.svm.SVC并遭受过度拟合。python sklearn非线性svm惩罚
我试图用C和伽马解释here ,并没有这样的伎俩
如果我理解正确的C和伽玛没有L1和L2惩罚,因为C是惩罚分类错误和γ是关于数据样本的泛化参数。我正在寻找一些能够惩罚像l1和l2这样的复杂模型的东西。
我想使用正则化和l1或l2惩罚,我发现了一些例子here,但是当我尝试使用惩罚参数与SVC它会引发错误。
svr_rbf = sklearn.svm.SVC(kernel='rbf', cache_size=1, class_weight={1:100}, penalty='l1')
并且得到错误
traceback (most recent call last):
File "/home/thebeancounter/PycharmProjects/nlp4/try.py", line 235, in <module>
svr_rbf = SVC(kernel='rbf', cache_size=1, class_weight={1:100}, penalty='l1')
TypeError: __init__() got an unexpected keyword argument 'penalty'
我知道的例子是不好的这种情况下,我尝试使用点球是在SVC缺席,我正在寻找合适这样做的方式,这是我发现的最接近。
看docs为SVC类我看到它有没有处罚属性
如何使用L1和L2惩罚与RBF核SVM,或者如果我不能让我戴一下是怎么回事,以防止过度适合那种模式?
你会得到这个错误,因为在你引用的例子中,他们使用[LinearSVC](http://scikit-learn.org/stable/modules/generated/sklearn.svm.LinearSVC.html# sklearn.svm.LinearSVC) –
参数'C'是SVC的惩罚参数 –
@VivekKumar谢谢,我知道,我正在寻找正确的方式去做 – thebeancounter