2015-01-12 7 views
16

documentation से विज्ञान-सीखने एसवीसी, NuSVC और LinearSVC लागू करता है जो डेटासेट पर बहु-वर्ग वर्गीकरण करने में सक्षम कक्षाएं हैं। दूसरी तरफ मैंने यह भी पढ़ा कि विज्ञान विज्ञान सीखने के लिए वेक्टर मशीन एल्गोरिदम के लिए libsvm का भी उपयोग करता है। मैं एसवीसी और libsvm संस्करणों के बीच क्या अंतर है, इस बारे में थोड़ा उलझन में हूं, अब मुझे लगता है कि अंतर यह है कि एसवीसी समर्थन वेक्टर मशीन एल्गोरिदम है जो मल्टीक्लास समस्या के लिए है और libsvm द्विआधारी वर्ग की समस्या के लिए है। क्या कोई इस बीच के अंतर को समझने में मेरी मदद कर सकता है?विज्ञान-शिक्षा में एसवीसी और एसवीएम के बीच क्या अंतर है?

+1

डॉकस्ट्रिंग भी देखें: http://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVC एसवीसी libsvm के आसपास सिर्फ एक पतली आवरण है। –

उत्तर

15

वे एक ही एल्गोरिदम के अलग-अलग कार्यान्वयन हैं। एसवीएम मॉड्यूल (एसवीसी, NuSVC, आदि) libsvm लाइब्रेरी के चारों ओर एक रैपर है और विभिन्न कर्नेल का समर्थन करता है जबकि LinearSVCliblinear पर आधारित है और केवल एक रैखिक कर्नेल का समर्थन करता है। तो:

SVC(kernel = 'linear') 

करने के लिए "बराबर" सिद्धांत में है:

LinearSVC() 

क्योंकि कार्यान्वयन अभ्यास में अलग हैं आप अलग अलग परिणाम प्राप्त कर सकेंगे, सबसे महत्वपूर्ण होते जा रहा है कि LinearSVC केवल एक रेखीय गिरी का समर्थन करता है, तेज है और बहुत बेहतर पैमाने पर कर सकते हैं।

+6

वे वास्तव में समकक्ष नहीं हैं क्योंकि एसवीसी एक बनाम-एक रणनीति का उपयोग करता है जबकि LinearSVC बहु-वर्ग के लिए एक बनाम-बाकी रणनीति का उपयोग करता है। इसके अलावा LinearSVC एल 2 हानि उर्फ ​​वर्ग हिंग नुकसान के लिए डिफ़ॉल्ट है। –

+1

एंड्रियास सही बात कर रहे हैं कि वे समान नहीं हैं। जब मैंने कहा "समकक्ष" मेरा मतलब था "समान" या "इसके अनुरूप", मेरी बुरी अंग्रेजी के लिए खेद है। विभिन्न कार्यान्वयन का मतलब अलग-अलग चूक और कई अन्य विवरण हैं। – elyase

+0

मल्टी-क्लास वर्गीकरण के लिए आप मुझे क्या सलाह देते हैं (एक बनाम एक या एक बनाम आराम), क्या आपको लगता है कि मैं इस समस्या को एसवीसी के साथ अच्छी तरह से हमला कर सकता हूं? – tumbleweed

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