R'de doğrusal SVM'den karar sınırları nasıl elde edilir?


9

Doğrusal bir SVM modeli için denklemi verebilecek bir pakete ihtiyacım var. Şu anda e1071'i şu şekilde kullanıyorum :

library(e1071)
m = svm(data, labels, type='C', kernel='linear', cost=cost, probability=FALSE, scale=scale)
w = t(m$coefs) %*% data[m$index,]  #Weight vector
b = -model$rho #Offset

Ancak, nasıl e1071::svm()pozitif ve negatif sınıfları seçtiğinden emin değilim , bu yüzden bu farklı veri kümeleri ile berbat olabilir düşünüyorum. Herkes bu fonksiyonun hangi sınıfın pozitif ve hangisinin negatif olduğuna nasıl karar verdiğini doğrulayabilir mi?

Ayrıca, bunun için daha iyi bir paket var mı?


1
Bununla ilgili bir konuda bilgi verdim: Doğrusal bir SVM modelinin karar sınırının hesaplanması .
chl

Yanıtlar:


1

Veri noktası için SVM'niz karar değerini aşağıdaki şekilde hesaplar :xd

d <- sum(w * x) + b

Eğer sonra etiket ise başka bu, . Ayrıca karekod ilişkin etiketleri veya karar değerler elde edebilirsiniz söyleyerekd>0x+1-1newdata

predict(m, newdata)

veya

predict(m, newdata, decision.values = TRUE)

E1071 paketinden SVM kullanırken dikkatli olun, bkz. E1071 libsvm ile ilgili sorun mu var? soru. R için diğer birkaç SVM paketi kernlab, klaR ve svmpath'tır, bu genel bakışa bakın: A. Karatzoglou ve D. Meyer tarafından R'deki Vektör Makinelerini Destekleyin .


2
Teşekkürler, ama sorum w ve b değerlerini nasıl alacağımla ilgili. Ayrıca, karar değeri hakkında, e1071'in, hangi faktörleri ilettiğinizde eğitim verisi için hangi etiketin pozitif ve negatif olduğuna nasıl karar verdiğini soruyorum.
reisner

1
E1071'e aşina değilim, ama SVM'yi biliyorum. Bir sınıfın olumlu ya da olumsuz olarak kabul edilmesi sonucu etkilemez. Herhangi bir veri kümesini alıp sınıf etiketlerini değiştirebilirsiniz ve yine de test noktalarını (aynı parametreler için) sınıflandırma açısından aynı sonucu almalısınız. Pozitif ve negatif, örneğin karar sınırının sağ tarafına düşüp düşmediğini belirlemek için kullanılır.
karenu
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.