एसवीएम के साथ श्रेणीबद्ध विशेषताओं के साथ कैसे व्यवहार करें


18

मेरे पास 35 आयामों (विशेषताओं) का एक स्थान है। मेरी विश्लेषणात्मक समस्या एक सरल वर्गीकरण है।

35 आयामों में से, 25 से अधिक श्रेणीबद्ध हैं और प्रत्येक विशेषता मान के 50 से अधिक प्रकार लेता है।

उस परिदृश्य में, एक डमी चर का परिचय भी मेरे लिए काम नहीं करेगा।

मैं ऐसे स्पेस पर एक SVM कैसे चला सकता हूं जिसमें बहुत अधिक श्रेणीगत विशेषताएँ हैं?

जवाबों:


22
  1. यदि आप सुनिश्चित हैं कि श्रेणीगत विशेषता वास्तव में क्रमबद्ध है, तो बस इसे संख्यात्मक विशेषता के रूप में मानें।
  2. यदि नहीं, तो इसे संख्यात्मक विशेषता में बदलने के लिए कुछ कोडिंग ट्रिक का उपयोग करें। Libsvm के लेखक के सुझाव के अनुसार, कोई भी 1-के-कोडिंग का उपयोग कर सकता है। उदाहरण के लिए, मान लें कि से 1-आयामी श्रेणी विशेषता मान ले रही है । बस इसे 3-आयामी संख्याओं में बदल दें जैसे A = ( 1 , 0 , 0 ) , B = ( 0 , 1 , 0 ) , C = ( 0 , 0 , 1 ){A,B,C}A=(1,0,0)B=(0,1,0)C=(0,0,1)। बेशक, यह आपकी समस्या में काफी अतिरिक्त आयाम पैदा करेगा, लेकिन मुझे लगता है कि यह आधुनिक एसवीएम सॉल्वर (कोई फर्क नहीं पड़ता रैखिक प्रकार या कर्नेल प्रकार जिसे आप अपनाते हैं) के लिए एक गंभीर समस्या नहीं है।

+1 यह वही है जो मैं कहने जा रहा था! एक तरफ के रूप में, मैं यह भी जोड़ दूंगा कि पुनरावर्ती विभाजन का उपयोग कभी-कभी यह पहचानने के लिए किया जाता है कि निरंतर-मूल्यवान सुविधाओं में कटौती करने के लिए उन्हें डिब्बे में विभाजित करना कहां है।
काइल।

दिलचस्प! "पुनरावर्ती विभाजन" मुझे एक (बाइनरी) पेड़ लगता है। इन दोनों विचारों में कोई अंतर? इसके अलावा, एसवीएम पहले से ही लगातार सुविधा से निपटने में सक्षम है, हम इसे डिब्बे (फिर, श्रेणीबद्ध डेटा) में क्यों बदलेंगे?
pengsun.thu 15

3
K-1 डमी वैरिएबल ak स्तर श्रेणीबद्ध वैरिएबल के लिए पर्याप्त नहीं बना रहा है? उदाहरण ए = (1,0,0), बी = (0,1,0) यहाँ, लंघन (0,0,1)?
बाहर का

सवाल का पालन करें: कोई अतिरिक्त स्केलिंग की आवश्यकता नहीं है 0-1 डेटा?
अज़ाहो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.