2010-04-15 11 views
8

मैटलैब में एसवीएम प्रशिक्षण करने के बाद मैं एसवीएम वर्गीकरण को कैसे देख सकता हूं?MATLAB में एसवीएम विजुअलाइजेशन

अब तक, मैंने केवल SVM को प्रशिक्षित किया है:

% Labels are -1 or 1 
groundTruth = Ytrain; 
d = xtrain; 

model = svmtrain(groundTruth, d); 

उत्तर

0

की जांच:

अब तक, मैं केवल SVM के साथ प्रशिक्षित किया है। जाहिर है यह केवल 2 डी बाइनरी वर्गीकरण के लिए काम करता है

7

आप LIBSVM का उपयोग कर रहे हैं, तो आप वर्गीकरण परिणामों प्लॉट कर सकते हैं:

% Labels are -1 or 1 
groundTruth = Ytrain; 
d = xtrain; 

figure 

% plot training data 
hold on; 
pos = find(groundTruth==1); 
scatter(d(pos,1), d(pos,2), 'r') 
pos = find(groundTruth==-1); 
scatter(d(pos,1), d(pos,2), 'b') 

% now plot support vectors 
hold on; 
sv = full(model.SVs); 
plot(sv(:,1),sv(:,2),'ko'); 

% now plot decision area 
[xi,yi] = meshgrid([min(d(:,1)):0.01:max(d(:,1))],[min(d(:,2)):0.01:max(d(:,2))]); 
dd = [xi(:),yi(:)]; 
tic;[predicted_label, accuracy, decision_values] = svmpredict(zeros(size(dd,1),1), dd, model);toc 
pos = find(predicted_label==1); 
hold on; 
redcolor = [1 0.8 0.8]; 
bluecolor = [0.8 0.8 1]; 
h1 = plot(dd(pos,1),dd(pos,2),'s','color',redcolor,'MarkerSize',10,'MarkerEdgeColor',redcolor,'MarkerFaceColor',redcolor); 
pos = find(predicted_label==-1); 
hold on; 
h2 = plot(dd(pos,1),dd(pos,2),'s','color',bluecolor,'MarkerSize',10,'MarkerEdgeColor',bluecolor,'MarkerFaceColor',bluecolor); 
uistack(h1, 'bottom'); 
uistack(h2, 'bottom'); 
+0

'डीडी' प्रशिक्षण डेटा की विशेषताओं की श्रेणी का एक मेष्रिड है। – Wok

2

मानते हुए अपने डेटा से अधिक के दो आयाम हैं, तो आप एक पीसीए, परियोजना के आंकड़ों के प्रदर्शन कर सकते हैं 2 डी, तो उन्हें अपने SVM ​​वर्गीकारक (जैसे,, वर्ग एक के लिए लाल वर्ग बी के लिए नीला) के उत्पादन के अनुसार एक रंग निर्दिष्ट करते हैं। यह करने के लिए जल्दी है और आप देखेंगे कि कल्पना करने के लिए कुछ भी है या नहीं। हालांकि, उच्च आयामी वाले डेटा को 2 डी में आसानी से देखने योग्य होने की संभावना नहीं है।

+0

आप एक PCA_ _performing से क्या मतलब है? हॉक मैं ऐसा कर सकता हूँ? क्या आप थोड़ा और बताएंगे? मैं (libsvm का प्रयोग करके) है.अगर मैं इसे 4D –

+0

है ईमानदारी से कहूं तो, अगर आप भी नहीं जानते कि क्या एक पीसीए (प्रमुख घटक विश्लेषण के लिए कम) है सही हूँ FisherIris डेटा सेट पर SVM वर्गीकरण कल्पना करने के लिए चाहते हैं, तो आप शायद होगा अंत परिणाम के लिए बहुत अधिक समय खर्च करना समाप्त करें। यह तुच्छ नहीं है। मुझे समझ में आता है कि निर्णय सीमा को देखना दिलचस्प होगा, लेकिन आप अपने एसवीएम के व्यवहार का विश्लेषण करने के लिए विभिन्न रणनीतियों पर विचार करना चाहेंगे। आप वास्तव में क्या हासिल करने की कोशिश कर रहे हैं? – levesque

+0

अंत में मैं libsvm के बजाय [stprtool] (http://cmp.felk.cvut.cz/cmp/software/stprtool/) का उपयोग करने के निर्णय सीमा की साजिश रचने के चुनाव का फैसला किया। यह वास्तव में ठीक काम किया। आपकी प्रतिक्रिया –

-1
model = svmtrain(groundTruth, d, 'ShowPlot', true); 
+1

के लिए धन्यवाद आप किसी भी संयोग से, एक स्पष्टीकरण का एक छोटा सा अधिक जोड़ सकते हैं .... –

संबंधित मुद्दे