डाइमेंशन शब्द का मतलब है कि फ़ीचर वेक्टर. कुछ कैटगरी वाली सुविधाएं कम डाइमेंशन वाली होती हैं. उदाहरण के लिए:
सुविधा का नाम | कैटगरी की # | सैंपल कैटगरी |
---|---|---|
snowed_today | 2 | सही, गलत |
skill_level | 3 | बिगिनर, प्रैक्टिशनर, एक्सपर्ट |
सीज़न | 4 | सर्दी, बसंत, गर्मी, पतझड़ |
day_of_week | 7 | सोमवार, मंगलवार, बुधवार |
ग्रह | 8 | बुध, शुक्र, पृथ्वी |
जब किसी कैटगरी वाली सुविधा में संभावित कैटगरी की संख्या कम होती है, तो इसे शब्दावली के तौर पर एन्कोड करें. शब्दावली एन्कोडिंग के साथ, मॉडल सभी के साथ अलग सुविधा के तौर पर संभावित कैटगरी वाले मान. ट्रेनिंग के दौरान, मॉडल हर कैटगरी के लिए अलग-अलग अहमियत रखता है.
उदाहरण के लिए, मान लें कि किसी कार की कीमत का अनुमान लगाने के लिए कोई मॉडल बनाया जा रहा है,
car_color
नाम की एक कैटगरी वाली सुविधा के साथ किया जा सकता है.
शायद लाल रंग की कारें, हरी कारों के मुकाबले ज़्यादा फ़ायदेमंद हों.
मैन्युफ़ैक्चरर के प्रॉडक्ट के बाहरी रंग सीमित हैं. इसलिए, car_color
एक कम डाइमेंशन वाली कैटगरी से जुड़ी सुविधा है.
नीचे दिया गया उदाहरण
car_color
:
कसरत: अपने दिल की सुनें
"Red"
स्ट्रिंग, कोई फ़्लोटिंग-पॉइंट नंबर नहीं है. आपने लोगों तक पहुंचाया मुफ़्त में
को "Red"
जैसी स्ट्रिंग को फ़्लोटिंग-पॉइंट नंबर में बदलना चाहिए.
इंडेक्स नंबर
मशीन लर्निंग मॉडल सिर्फ़ फ़्लोटिंग-पॉइंट नंबरों में बदलाव कर सकते हैं. इसलिए, आपको हर स्ट्रिंग को एक यूनीक इंडेक्स नंबर में बदलना होगा, जैसा कि नीचे दिया गया उदाहरण:
अपने दिल की सुनें
"Black"
(इंडेक्स नंबर 5) को पांच गुना ज़्यादा सार्थक होना
की तुलना "Orange"
(इंडेक्स नंबर 1) से करनी होगी.
"Black"
(इंडेक्स नंबर 5) को
"Orange"
की तुलना में, मॉडल के लिए पांच गुना ज़्यादा अहम है
(इंडेक्स नंबर 1).
वन-हॉट एन्कोडिंग
शब्दावली बनाने का अगला कदम है हर इंडेक्स नंबर को इसकी वन-हॉट एन्कोडिंग. वन-हॉट एन्कोडिंग में:
- हर कैटगरी को, N एलिमेंट के वेक्टर (कलेक्शन) से दिखाया जाता है, जहां N
कैटगरी की संख्या है. उदाहरण के लिए, अगर
car_color
के लिए आठ सोर्स कैटगरी चुनते हैं, तो एक हॉट वेक्टर दिखाने वाले में आठ एलिमेंट होंगे. - वन-हॉट वेक्टर के ठीक एक एलिमेंट की वैल्यू 1.0 है; बाकी सभी एलिमेंट की वैल्यू 0.0 है.
उदाहरण के लिए, नीचे दी गई टेबल में, हर यूआरएल के लिए वन-हॉट एन्कोडिंग को दिखाया गया है
car_color
:
सुविधा | लाल | Orange | नीला | पीला | हरा | काला | बैंगनी | भूरा |
---|---|---|---|---|---|---|---|---|
"लाल" | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
"ऑरेंज" | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
"ब्लू" | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
"येलो" | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
"ग्रीन" | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
"काला" | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
"पर्पल" | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
"भूरा" | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
यह पास किया जाने वाला स्ट्रिंग या इंडेक्स नंबर नहीं, बल्कि वन-हॉट वेक्टर होता है सुविधा वेक्टर तक सीमित करें. यह मॉडल, एलिमेंट के हर एलिमेंट का अलग-अलग वेट लेता है फ़ीचर वेक्टर.
नीचे दिया गया उदाहरण, दुनिया भर में शब्दावली प्रतिनिधित्व:
थोड़ा-बहुत
वह सुविधा जिसकी वैल्यू मुख्य रूप से शून्य या खाली होती है उसे
स्पार्स सुविधा का इस्तेमाल करें. कई
कैटगरी से जुड़ी सुविधाएं, जैसे कि car_color
, कम जानकारी देती हैं.
स्पार्स रिप्रज़ेंटेशन
का मतलब है, 1.0 की रैंक को स्टोर करना
एक स्पैर्स वेक्टर में. उदाहरण के लिए, "Blue"
के लिए वन-हॉट वेक्टर यह है:
[0, 0, 1, 0, 0, 0, 0, 0] के बराबर है
1
, दूसरी पोज़िशन पर है (गिनती 0 से शुरू होने पर), इसलिए
पिछले वन-हॉट वेक्टर के लिए स्पैर्स रिप्रज़ेंटेशन यह है:
2
ध्यान दें कि स्पैर्स रिप्रज़ेंटेशन, आठ एलिमेंट वाला वन-हॉट वेक्टर. यह मॉडल आपको ट्रेन को वन-हॉट वेक्टर, न कि स्पार्स रिप्रज़ेंटेशन.
कैटगरी वाले डेटा में आउटलायर का डेटा
संख्या वाले डेटा की तरह, कैटगरी वाले डेटा में भी आउटलायर शामिल होते हैं. मान लें
car_color
में सिर्फ़ लोकप्रिय रंग ही नहीं, बल्कि कुछ ऐसे रंग भी हैं जिनका इस्तेमाल बहुत कम किया जाता है
बाहरी रंग, जैसे कि "Mauve"
या "Avocado"
.
इन बाहरी रंगों में से हर एक को एक अलग कैटगरी देने के बजाय,
उन्हें एक "कैच-ऑल"
में ला सकता है out-of-vocabulary
(दिखाई नहीं दे रहा). दूसरे शब्दों में, सभी बाहरी रंगों को एक
आउटलायर बकेट. सिस्टम उस आउटलायर बकेट के लिए एक वेट सीखता है.
हाई-डाइमेंशन कैटगरी वाली सुविधाओं को कोड में बदलना
कुछ कैटगरी में आने वाली सुविधाओं में बहुत ज़्यादा डाइमेंशन होते हैं. जैसे जो नीचे दी गई टेबल में मौजूद हैं:
सुविधा का नाम | कैटगरी की # | सैंपल कैटगरी |
---|---|---|
words_in_english | ~5,00,000 | "खुश", "चलना" |
US_postal_codes | तकरीबन 42,000 | "02114", "90301" |
last_names_in_Germany | करीब 8,50,000 | "श्मिट", "श्नाइडर" |
जब कैटगरी की संख्या ज़्यादा होती है, तो वन-हॉट एन्कोडिंग आम तौर पर गलत विकल्प होता है. एम्बेड की गई फ़ाइलों के बारे में, अलग से जानकारी दी गई है आम तौर पर, एम्बेड करने वाले मॉड्यूल एक और बेहतर विकल्प है. एम्बेड करने से डाइमेंशन, जो मॉडल को दो अहम तरीकों से फ़ायदा देते हैं:
- मॉडल आम तौर पर ज़्यादा तेज़ी से ट्रेनिंग लेता है.
- आम तौर पर, बनाए गए मॉडल में अनुमान लगाने में कम समय लगता है. इसका मतलब है कि मॉडल में इंतज़ार का समय कम है.
हैशिंग (इसे हैशिंग भी कहा जाता है ट्रिक) डाइमेंशन की संख्या कम करने का कम इस्तेमाल किया जाता है.