我使用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