मैंने हाल ही में साथ काम करना सीखना शुरू कर दिया है sklearn
और अभी-अभी इस अजीब परिणाम के साथ आया हूं।
मैंने विभिन्न मॉडलों और अनुमान विधियों की कोशिश करने के लिए digits
उपलब्ध डेटासेट का उपयोग किया sklearn
।
जब मैंने डेटा पर सपोर्ट वेक्टर मशीन मॉडल का परीक्षण किया, तो मुझे पता चला कि sklearn
एसवीएम वर्गीकरण के लिए दो अलग-अलग वर्ग हैं : SVC
और LinearSVC
, जहां पूर्व एक-विरुद्ध-एक दृष्टिकोण का उपयोग करता है और दूसरा एक-विरुद्ध-बाकी दृष्टिकोण का उपयोग करता है ।
मुझे नहीं पता था कि परिणाम पर क्या प्रभाव पड़ सकता है, इसलिए मैंने दोनों की कोशिश की। मैंने मोंटे कार्लो-शैली का अनुमान लगाया, जहां मैंने दोनों मॉडल को 500 बार चलाया, हर बार नमूना को 60% प्रशिक्षण और 40% परीक्षण में बेतरतीब ढंग से विभाजित किया और परीक्षण सेट पर भविष्यवाणी की त्रुटि की गणना की।
नियमित SVC अनुमानक ने त्रुटियों के निम्नलिखित हिस्टोग्राम का उत्पादन किया: जबकि रैखिक SVC अनुमानक ने निम्नलिखित हिस्टोग्राम का उत्पादन किया:
इस तरह के एक अंतर के लिए क्या हो सकता है? अधिकांश समय रैखिक मॉडल में इतनी अधिक सटीकता क्यों होती है?
और, संबंधित, परिणामों में स्टार्क ध्रुवीकरण का क्या कारण हो सकता है? या तो 1 के करीब सटीकता या 0 के करीब सटीकता, बीच में कुछ भी नहीं।
तुलना के लिए, एक निर्णय ट्री वर्गीकरण ने लगभग .85 की सटीकता के साथ अधिक सामान्य रूप से वितरित त्रुटि दर का उत्पादन किया।
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).