डेटासेट, उदाहरणों का कलेक्शन होता है.
कई डेटासेट, डेटा को टेबल (ग्रिड) में सेव करते हैं. उदाहरण के लिए, कॉमा लगाकर अलग की गई वैल्यू (CSV) के तौर पर या सीधे स्प्रेडशीट या डेटाबेस टेबल से. टेबल, मशीन लर्निंग मॉडल के लिए एक आसान इनपुट फ़ॉर्मैट हैं. टेबल की हर पंक्ति को उदाहरण के तौर पर और हर कॉलम को संभावित सुविधा या लेबल के तौर पर देखा जा सकता है. हालांकि, डेटासेट को अन्य फ़ॉर्मैट से भी लिया जा सकता है. इनमें लॉग फ़ाइलें और प्रोटोकॉल बफ़र भी शामिल हैं.
फ़ॉर्मैट चाहे कोई भी हो, आपका एमएल मॉडल उतना ही अच्छा होगा जितना अच्छा डेटा उसे ट्रेनिंग के लिए दिया गया है. इस सेक्शन में, डेटा की मुख्य विशेषताओं की जांच की जाती है.
डेटा के टाइप
किसी डेटासेट में कई तरह के डेटा टाइप हो सकते हैं. इनमें ये शामिल हैं, लेकिन इन तक सीमित नहीं हैं:
- अंकों वाला डेटा, जिसे अलग इकाई में शामिल किया गया है
- कैटगरी वाला डेटा, जिसे अलग यूनिट में शामिल किया गया है
- मानव भाषा, जिसमें अलग-अलग शब्द और वाक्य शामिल हैं. साथ ही, पूरे टेक्स्ट दस्तावेज़ भी
- मल्टीमीडिया (जैसे, इमेज, वीडियो, और ऑडियो फ़ाइलें)
- दूसरे एमएल सिस्टम के आउटपुट
- वेक्टर एम्बेड करना, जिनके बारे में अगली यूनिट में बताया गया है
डेटा की संख्या
आम तौर पर, आपके मॉडल को ट्रेनिंग के लिए, ट्रेन किए जा सकने वाले पैरामीटर से कम से कम एक या दो ऑर्डर ज़्यादा उदाहरणों की ज़रूरत होती है. हालांकि, आम तौर पर अच्छे मॉडल, इससे काफ़ी ज़्यादा उदाहरणों पर ट्रेनिंग लेते हैं.
आम तौर पर, कम सुविधाओं वाले बड़े डेटासेट पर ट्रेन किए गए मॉडल, कई सुविधाओं वाले छोटे डेटासेट पर ट्रेन किए गए मॉडल की तुलना में बेहतर परफ़ॉर्म करते हैं. Google को अब तक बड़े डेटासेट पर आसान मॉडल को ट्रेन करने में काफ़ी सफलता मिली है.
अलग-अलग मशीन लर्निंग प्रोग्राम के लिए, अलग-अलग डेटासेट में काम का मॉडल बनाने के लिए, उदाहरणों की संख्या काफ़ी अलग-अलग हो सकती है. कुछ आसान समस्याओं के लिए, कुछ दर्जन उदाहरणों से काम हो सकता है. दूसरी समस्याओं के लिए, एक ट्रिलियन उदाहरण भी कम हो सकते हैं.
अगर किसी मौजूदा मॉडल को इस्तेमाल किया जा रहा है, जिसे पहले से ही एक ही स्कीमा के ज़्यादा डेटा पर ट्रेन किया गया है, तो छोटे डेटासेट से भी अच्छे नतीजे मिल सकते हैं.
डेटा की क्वालिटी और भरोसेमंदता
सभी लोग अच्छी क्वालिटी के कॉन्टेंट को पसंद करते हैं, लेकिन क्वालिटी एक ऐसा कॉन्सेप्ट है जिसे कई तरीकों से परिभाषित किया जा सकता है. इस कोर्स में, क्वालिटी को व्यावहारिक तरीके से परिभाषित किया गया है:
अच्छी क्वालिटी का डेटासेट, आपके मॉडल को उसका लक्ष्य हासिल करने में मदद करता है. खराब क्वालिटी का डेटासेट, आपके मॉडल को उसके लक्ष्य को पूरा करने से रोकता है.
आम तौर पर, अच्छी क्वालिटी का डेटासेट भरोसेमंद भी होता है. भरोसेमंदता से पता चलता है कि आपके डेटा पर कितना भरोसा किया जा सकता है. भरोसेमंद डेटासेट पर ट्रेन किए गए मॉडल से, भरोसेमंद डेटा पर ट्रेन किए गए मॉडल के मुकाबले ज़्यादा काम की भविष्यवाणियां की जा सकती हैं.
भरोसे को मेज़र करने के लिए, आपको यह तय करना होगा:
- लेबल से जुड़ी गड़बड़ियां कितनी आम हैं? उदाहरण के लिए, अगर आपके डेटा को लोगों ने लेबल किया है, तो रेटिंग देने वाले लोगों ने कितनी बार गलतियां कीं?
- क्या आपके ऐप्लिकेशन में मौजूद सुविधाएं ज़्यादा आवाज़ करती हैं? इसका मतलब है कि क्या आपकी सुविधाओं की वैल्यू में गड़बड़ियां हैं? ज़रूरत के हिसाब से काम करें—अपने डेटासेट से पूरी तरह ग़ैर-ज़रूरी डेटा नहीं हटाया जा सकता. कुछ गड़बड़ी होना सामान्य है. उदाहरण के लिए, किसी भी जगह के जीपीएस मेज़रमेंट में हर हफ़्ते थोड़ा-बहुत उतार-चढ़ाव होता रहता है.
- क्या आपकी समस्या के लिए डेटा सही तरीके से फ़िल्टर किया गया है? उदाहरण के लिए, क्या आपके डेटासेट में बॉट से की गई खोज क्वेरी शामिल होनी चाहिए? अगर स्पैम का पता लगाने वाला सिस्टम बनाया जा रहा है, तो इसका जवाब हां है. हालांकि, अगर आपको लोगों के लिए खोज के नतीजों को बेहतर बनाना है, तो नहीं.
डेटासेट में गलत डेटा होने की ये आम वजहें हैं:
- छूटी हुई वैल्यू. उदाहरण के लिए, किसी व्यक्ति ने घर की उम्र के लिए वैल्यू डालना भूल दिया.
- डुप्लीकेट उदाहरण. उदाहरण के लिए, किसी सर्वर ने गलती से एक ही लॉग एंट्री को दो बार अपलोड किया हो.
- सुविधा की गलत वैल्यू. उदाहरण के लिए, किसी व्यक्ति ने एक अतिरिक्त अंक टाइप किया हो या थिर्मोमीटर को धूप में छोड़ दिया गया हो.
- गलत लेबल. उदाहरण के लिए, किसी व्यक्ति ने गलती से ओक ट्री की इमेज को मेपल ट्री के तौर पर लेबल किया.
- डेटा के खराब सेक्शन. उदाहरण के लिए, किसी सुविधा पर भरोसा किया जा सकता है, सिर्फ़ उस एक दिन को छोड़कर जब नेटवर्क क्रैश होता रहा.
हमारा सुझाव है कि अविश्वसनीय डेटा को फ़्लैग करने के लिए, ऑटोमेशन का इस्तेमाल करें. उदाहरण के लिए, बाहरी फ़ॉर्मल डेटा स्कीमा के आधार पर काम करने वाली या उसे तय करने वाली यूनिट टेस्ट, तय की गई रेंज से बाहर की वैल्यू को फ़्लैग कर सकते हैं.
पूरे और अधूरे उदाहरण
आम तौर पर, हर उदाहरण पूरा होता है. इसका मतलब है कि हर उदाहरण में, हर सुविधा के लिए एक वैल्यू होती है.
माफ़ करें, असल दुनिया के उदाहरण अक्सर अधूरे होते हैं. इसका मतलब है कि कम से कम एक सुविधा की वैल्यू मौजूद नहीं है.
किसी मॉडल को अधूरे उदाहरणों पर ट्रेनिंग न दें. इसके बजाय, इनमें से कोई एक तरीका अपनाकर, अधूरे उदाहरणों को ठीक करें या हटाएं:
- अधूरे उदाहरण मिटाएं.
- Impute का अनुमान लगाना. इसका मतलब है कि अधूरे उदाहरण को पूरे उदाहरण में बदलना. इसके लिए, इस्तेमाल न की गई वैल्यू के लिए सही अनुमान लगाएं.
अगर डेटासेट में किसी काम के मॉडल को ट्रेन करने के लिए, पूरी जानकारी वाले ज़रूरत के मुताबिक उदाहरण हैं, तो अधूरे उदाहरण मिटाएं. इसी तरह, अगर किसी एक सुविधा के लिए ज़रूरत के मुताबिक डेटा मौजूद नहीं है और हो सकता है कि वह सुविधा मॉडल के लिए ज़्यादा काम की न हो, तो मॉडल के इनपुट से उस सुविधा को मिटाएं. साथ ही, देखें कि उसे हटाने से मॉडल की क्वालिटी में कितनी गिरावट आई है. अगर मॉडल बिना इसके भी ठीक से काम करता है, तो यह बहुत अच्छी बात है. इसके उलट, अगर आपके पास किसी काम के मॉडल को ट्रेन करने के लिए, ज़रूरत के मुताबिक पूरे उदाहरण नहीं हैं, तो हो सकता है कि आप छूटी हुई वैल्यू डालना चाहें.
ग़ैर-ज़रूरी या दोहराए गए उदाहरणों को मिटाना ठीक है, लेकिन ज़रूरी उदाहरणों को मिटाना ठीक नहीं है. माफ़ करें, काम के और काम के नहीं उदाहरणों के बीच का अंतर करना मुश्किल हो सकता है. अगर आपको यह तय नहीं हो पा रहा है कि डेटा को मिटाना है या इंपोर्ट करना है, तो दो डेटासेट बनाएं: पहला, अधूरे उदाहरणों को मिटाकर और दूसरा, इंपोर्ट करके. इसके बाद, यह तय करें कि कौनसा डेटासेट बेहतर मॉडल को ट्रेन करता है.
एक सामान्य एल्गोरिदम, इंपुट की गई वैल्यू के तौर पर औसत या मीडियन का इस्तेमाल करता है. इसलिए, जब किसी संख्या वाली सुविधा को Z-स्कोर के साथ दिखाया जाता है, तो आम तौर पर, डाली गई वैल्यू 0 होती है. ऐसा इसलिए होता है, क्योंकि आम तौर पर Z-स्कोर का औसत 0 होता है.
एक्सरसाइज़: देखें कि आपको क्या समझ आया
यहां Timestamp
के हिसाब से क्रम से लगाए गए डेटासेट के दो कॉलम दिए गए हैं.
टाइमस्टैंप | तापमान |
---|---|
8 जून, 2023 09:00 | 12 |
8 जून, 2023 10:00 | 18 |
8 जून, 2023 11:00 | मौजूद नहीं |
8 जून, 2023 को दोपहर 12:00 बजे | 24 |
8 जून, 2023 13:00 | 38 |
तापमान की वैल्यू मौजूद न होने पर, इनमें से कौनसी वैल्यू डाली जा सकती है?