क्या SVM (सपोर्ट वेक्टर मशीन) के लिए श्रेणीबद्ध और निरंतर डेटा को मिलाना ठीक है?


14

मेरे पास एक डेटासेट है

+--------+------+-------------------+
| income | year |        use        |
+--------+------+-------------------+
|  46328 | 1989 | COMMERCIAL EXEMPT |
|  75469 | 1998 | CONDOMINIUM       |
|  49250 | 1950 | SINGLE FAMILY     |
|  82354 | 2001 | SINGLE FAMILY     |
|  88281 | 1985 | SHOP & HOUSE      |
+--------+------+-------------------+

मैं इसे एक LIBSVM प्रारूप वेक्टर स्पेस में एम्बेड करता हूं

+1 1:46328 2:1989 3:1
-1 1:75469 2:1998 4:1
+1 1:49250 2:1950 5:1
-1 1:82354 2:2001 5:1
+1 1:88281 2:1985 6:1

फ़ीचर सूचकांकों:

  • 1 "आय" है
  • 2 "वर्ष" है
  • 3 "उपयोग / वाणिज्यिक प्रदर्शनी" है
  • 4 "उपयोग / CONDOMINIUM" है
  • 5 है "का उपयोग करें / एकल परिवार"
  • 6 "उपयोग / दुकान और सदन" है

क्या इसके लिए निरंतर (वर्ष, आय) और श्रेणीबद्ध (उपयोग) डेटा के मिश्रण के साथ एक समर्थन वेक्टर मशीन (एसवीएम) को प्रशिक्षित करना ठीक है?


3
आपको कम से कम एक बार "एसवीएम" को वर्तनी देना चाहिए।
पीटर Flom - को पुनः स्थापित मोनिका

1
सुनिश्चित करें कि आप उस डेटा को स्केल करते हैं!
पैट्रिक कैलडन

जवाबों:


7

हाँ! लेकिन शायद आपके मतलब के तरीके में नहीं। अपने शोध में मैं अक्सर पुनरावर्ती विभाजन जैसे एल्गोरिथ्म का उपयोग करके लगातार मूल्यवान लोगों से श्रेणीबद्ध विशेषताएं बनाता हूं । मैं आमतौर पर समर्थन वेक्टर मशीनों के SVMLight कार्यान्वयन के साथ इस दृष्टिकोण का उपयोग करता हूं , लेकिन मैंने इसे LibSVM के साथ भी उपयोग किया है। आपको यह सुनिश्चित करने की आवश्यकता होगी कि आप प्रशिक्षण और वर्गीकरण के दौरान अपनी विभाजित वेक्टर विशेषताओं को अपनी सुविधा वेक्टर में एक विशिष्ट स्थान पर निर्दिष्ट करें, अन्यथा आपका मॉडल जंबली समाप्त होने जा रहा है।

संपादित करें: यह कहना है, जब मैंने ऐसा किया है, तो मैं वेक्टर के पहले n तत्वों को पुनरावर्ती विभाजन के आउटपुट से जुड़े द्विआधारी मूल्यों को सौंपता हूं। बाइनरी फीचर मॉडलिंग में, आपके पास केवल 0 और 1 के विशाल वेक्टर होते हैं, इसलिए सब कुछ मॉडल के समान दिखता है, जब तक कि आप स्पष्ट रूप से इंगित नहीं करते हैं कि विभिन्न विशेषताएं कहां हैं। यह संभवतः अत्यधिक विशिष्ट है, जैसा कि मैं कल्पना करता हूं कि अधिकांश एसवीएम कार्यान्वयन अपने दम पर ऐसा करेंगे, लेकिन, यदि आप अपना खुद का कार्यक्रम करना पसंद करते हैं, तो यह सोचने के लिए कुछ हो सकता है!


1
धन्यवाद काइल, क्या आप थोड़ा और विशिष्ट हो सकते हैं? आपका क्या मतलब है "एक विशिष्ट स्थान पर अपनी विभाजित स्पष्ट विशेषताएं प्रदान करें"?
सीमस

@SeamusAbshere कोई समस्या नहीं है! मैंने इसे संबोधित करने के लिए अपना उत्तर संपादित किया!
काइल।

मुझे लगता है कि मैंने सुना है कि libsvm करता है कि आप अपने बारे में क्या बात कर रहे हैं - कोई विचार?
सीमस

@ सीम्यूसबैरी मुझे लगता है कि आप सही हैं, लेकिन मुझे यकीन नहीं है। अब जब मैं इसके बारे में सोचता हूं, मुझे यकीन नहीं है कि यह किसी अन्य तरीके से कैसे काम कर सकता है।
काइल।

@ काइल के उत्तर से अभिभूत , मैंने एक रूबी लाइब्रेरी ( वेक्टरएम्बेड ) लिखा था जो इस रूपांतरण (एम्बेडिंग) को स्वचालित रूप से करता है, दोनों के लिए श्रेणीबद्ध (मुरमुरे हैश का उपयोग करके) और निरंतर डेटा। यह libsvm-स्वरूपित फ़ाइलों को आउटपुट करता है।
सीमस एब्सरे
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.