libsvm डेटा प्रारूप [बंद]


31

मैं सदिश वर्गीकरण के लिए libsvm ( http://www.csie.ntu.edu.tw/~cjlin/libsvm/ ) टूल का उपयोग कर रहा हूं । हालाँकि, मैं इनपुट डेटा के प्रारूप के बारे में उलझन में हूँ।

README से:

डेटा फ़ाइल के प्रशिक्षण और परीक्षण का प्रारूप है:

<label> <index1>:<value1> <index2>:<value2> ...
.
.
.

प्रत्येक पंक्ति में एक उदाहरण होता है और एक '\ n' वर्ण द्वारा समाप्त होता है। वर्गीकरण के लिए, <label>एक पूर्णांक है जो वर्ग लेबल को दर्शाता है (बहु-वर्ग समर्थित है)। प्रतिगमन के लिए, <label>लक्ष्य मूल्य है जो कि कोई भी वास्तविक संख्या हो सकती है। एक वर्ग एसवीएम के लिए, इसका उपयोग नहीं किया जाता है इसलिए यह किसी भी संख्या में हो सकता है। जोड़ी <index>:<value>एक विशेषता (विशेषता) मान देती है: <index>एक पूर्णांक है जो 1 से शुरू होता है और <value> एक वास्तविक संख्या है। एकमात्र अपवाद पूर्वनिर्मित कर्नेल है, जहां <index>0 से शुरू होता है; प्रीकम्प्यूटेड कर्नेल का अनुभाग देखें। संकेत ASCENDING क्रम में होने चाहिए। परीक्षण फ़ाइल में लेबल केवल सटीकता या त्रुटियों की गणना करने के लिए उपयोग किया जाता है। यदि वे अज्ञात हैं, तो किसी भी संख्या के साथ पहला कॉलम भरें।

मेरे पास निम्नलिखित प्रश्न हैं:

  1. का उपयोग क्या है <index>? इससे कौन सा उद्देश्य पूरा होगा?
  2. क्या अलग-अलग डेटा इंस्टेंस के समान इंडेक्स मानों के बीच एक पत्राचार है?
  3. अगर मैं किसी इंडेक्स को बीच में छोड़ता / छोड़ता हूं तो क्या होगा?

मैं पूछता हूं क्योंकि datafile * heart_scale * जो libsvm के लिए पैकेज में शामिल है, पंक्ति 12 पर, सूचकांक 2 से शुरू होता है। क्या <value>सूचकांक 1 के लिए अज्ञात / लापता के रूप में लिया गया है? नोट: पैकेज के साथ दिए गए उपकरण / checkdata.py टूल कहता है कि * heart_scale * फ़ाइल सही है।

जवाबों:


23

इस लिंक से मदद करनी चाहिए: http://www.csie.ntu.edu.tw/~cjlin/libsvm/faq.html#/Q3:_Data_preparation

यह उल्लेख किया गया है कि डेटा एक विरल सरणी / मैट्रिक्स रूप में संग्रहीत है। अनिवार्य रूप से, इसका मतलब है कि केवल गैर-शून्य डेटा संग्रहीत किया जाता है, और किसी भी लापता डेटा को मान शून्य के रूप में लिया जाता है। आपके सवालों के लिए:

a) सूचकांक केवल सुविधाओं / मापदंडों के बीच अंतर करने का एक तरीका है। एक हाइपरस्पेस के संदर्भ में, यह केवल प्रत्येक घटक को नामित कर रहा है: जैसे: 3-डी (3 विशेषताएं) सूचकांक 1,2,3 x, y, z निर्देशांक के अनुरूप होगा।

बी) पत्राचार केवल गणितीय है, जब हाइपर-प्लेन का निर्माण होता है, तो ये निर्देशांक के रूप में काम करते हैं।

ग) यदि आप बीच में एक को छोड़ देते हैं, तो इसे शून्य का डिफ़ॉल्ट मान सौंपा जाना चाहिए।

संक्षेप में, +1 1: 0.7 2: 1 3: 1 का अनुवाद इसके लिए होता है:

कक्षा +1, बिंदु (0.7,1,1) पर असाइन करें।


4

बस छोटा और तेज़ गाइड:

LibSVM प्रारूप का अर्थ है कि आपके दस्तावेज़ को पहले से ही संसाधित करने की आवश्यकता है। आपको यह जानने की आवश्यकता है कि कितने वर्गीकरण वर्गों का उपयोग किया जाएगा (सबसे अधिक संभावना 2) और अंतरिक्ष की सुविधा।

वर्गीकरण वर्ग सत्य / असत्य जैसा कुछ है; 0,1, ... यहां आपको इसे पूर्णांकों (जैसे 0,1) में बदलना है।

फ़ीचर स्पेस आपके बहुआयामी डेटा के लिए एक स्थान है। प्रत्येक feauture (वेक्टर) की अपनी आईडी (इंडेक्स) और उसका मूल्य होना चाहिए। उदाहरण 1: 23.2 का मतलब है कि सुविधा / आयाम 1 का मूल्य 23.2 है

<label> <index1>:<value1> <index2>:<value2> ... <indexN>:<valueN>
...
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.