Son zamanlarda birlikte çalışmayı öğrenmeye başladım sklearn
ve bu tuhaf sonuca rastladım.
Farklı modelleri ve tahmin yöntemlerini denemek için digits
mevcut veri kümesini kullandım sklearn
.
Veriler üzerinde bir Destek Vektör Makinesi modelini test ettiğimde sklearn
, SVM sınıflandırması için iki farklı sınıf olduğunu öğrendim : SVC
ve LinearSVC
birincisi bire bir yaklaşım, diğeri ise bire karşı yaklaşım kullanıyor.
Sonuçlar üzerindeki etkisinin ne olduğunu bilmiyordum, bu yüzden ikisini de denedim. Monte Carlo tarzı bir tahmin yaptım, her iki modeli de 500 kez çalıştırdım, her seferinde numuneyi rastgele% 60 eğitim ve% 40 teste böldüm ve test setindeki tahmin hatasını hesapladım.
Normal SVC tahmincisi aşağıdaki hata histogramını üretti: Doğrusal SVC tahmincisi aşağıdaki histogramı üretti:
Böyle keskin bir farkı ne açıklayabilir? Doğrusal model neden çoğu zaman bu kadar yüksek doğruluğa sahiptir?
Ve ilgili olarak, sonuçlarda keskin kutuplaşmaya ne sebep olabilir? Ya 1'e yakın bir doğruluk ya da 0'a yakın bir doğruluk, aralarında hiçbir şey yok.
Karşılaştırma için, bir karar ağacı sınıflandırması, yaklaşık 0,85 doğrulukla çok daha normal bir şekilde dağıtılmış hata oranı üretti.
Similar to SVC with parameter kernel=’linear’, but implemented in terms of liblinear rather than libsvm, so it has more flexibility in the choice of penalties and loss functions and should scale better (to large numbers of samples).