Amazon SageMaker Data Wrangler के साथ मशीन लर्निंग के लिए अपने डेटा को संतुलित करें

स्रोत नोड: 1600102

अमेज़न SageMaker डेटा रैंगलर की एक नई क्षमता है अमेज़न SageMaker यह डेटा वैज्ञानिकों और इंजीनियरों के लिए विज़ुअल इंटरफ़ेस का उपयोग करके मशीन लर्निंग (एमएल) अनुप्रयोगों के लिए डेटा तैयार करना तेज़ बनाता है। इसमें 300 से अधिक बिल्ट-इन डेटा परिवर्तन शामिल हैं ताकि आप बिना कोई कोड लिखे सुविधाओं को जल्दी से सामान्य, रूपांतरित और संयोजित कर सकें।

आज, हम नए परिवर्तनों की घोषणा करते हुए उत्साहित हैं जो आपको एमएल मॉडल प्रशिक्षण के लिए अपने डेटासेट को आसानी से और प्रभावी ढंग से संतुलित करने की अनुमति देते हैं। हम प्रदर्शित करते हैं कि ये परिवर्तन इस पोस्ट में कैसे काम करते हैं।

नए संतुलन ऑपरेटरों

नए घोषित बैलेंसिंग ऑपरेटरों को इसके अंतर्गत समूहबद्ध किया गया है बैलेंस डेटा प्रकार में रूपांतरित करें रूपांतरण जोड़ें फलक।

वर्तमान में, ट्रांसफ़ॉर्म ऑपरेटर केवल बाइनरी वर्गीकरण समस्याओं का समर्थन करते हैं। बाइनरी वर्गीकरण समस्याओं में, क्लासिफायरियर को प्रत्येक नमूने को दो वर्गों में से एक में वर्गीकृत करने का काम सौंपा जाता है। जब बहुसंख्यक वर्ग (बड़े) में नमूनों की संख्या अल्पसंख्यक (छोटे) वर्ग में नमूनों की संख्या से काफी अधिक होती है, तो डेटासेट को असंतुलित माना जाता है। यह तिरछा एमएल एल्गोरिदम और क्लासिफायर के लिए चुनौतीपूर्ण है क्योंकि प्रशिक्षण प्रक्रिया बहुसंख्यक वर्ग के पक्षपाती होती है।

इस चुनौती को दूर करने के लिए बैलेंसिंग स्कीम, जो क्लासिफायर को प्रशिक्षित करने से पहले डेटा को और अधिक संतुलित करने के लिए प्रस्तावित करती हैं। सरलतम संतुलन विधियाँ या तो अल्पसंख्यक वर्ग को अल्पसंख्यक नमूनों की नकल करके ओवरसैंपलिंग कर रही हैं या बहुसंख्यक नमूनों को हटाकर बहुसंख्यक वर्ग को कम कर रही हैं। सारणीबद्ध डेटा में सिंथेटिक अल्पसंख्यक नमूने जोड़ने का विचार पहले सिंथेटिक अल्पसंख्यक ओवरसैंपलिंग तकनीक (SMOTE) में प्रस्तावित किया गया था, जहां मूल अल्पसंख्यक बिंदुओं के जोड़े को प्रक्षेपित करके सिंथेटिक अल्पसंख्यक नमूने बनाए जाते हैं। प्रकाशन के अनुसार, SMOTE और अन्य संतुलनकारी योजनाओं का अनुभवजन्य रूप से व्यापक अध्ययन किया गया और विभिन्न परिदृश्यों में भविष्यवाणी के प्रदर्शन में सुधार दिखाया गया SMOTE को, या SMOTE को नहीं.

डेटा रैंगलर अब निम्नलिखित बैलेंसिंग ऑपरेटरों का समर्थन करता है बैलेंस डेटा परिवर्तन:

  • रैंडम ओवरसैंपलर - यादृच्छिक रूप से डुप्लिकेट अल्पसंख्यक नमूने
  • रैंडम अंडरसैंपलर - बेतरतीब ढंग से बहुमत के नमूने हटा दें
  • ऐसा मारा - वास्तविक अल्पसंख्यक नमूनों को प्रक्षेपित करके सिंथेटिक अल्पसंख्यक नमूने उत्पन्न करें

आइए अब विभिन्न बैलेंसिंग ऑपरेटरों के बारे में विस्तार से चर्चा करें।

रैंडम ओवरसैंपल

रैंडम ओवरसैंपलिंग में प्रतिस्थापन के साथ अल्पसंख्यक वर्ग से यादृच्छिक उदाहरणों का चयन करना और इस उदाहरण की कई प्रतियों के साथ प्रशिक्षण डेटा को पूरक करना शामिल है। इसलिए, यह संभव है कि एक उदाहरण को कई बार चुना जा सकता है। साथ बिना सोचे समझे ओवरसैंपल ट्रांसफ़ॉर्म प्रकार, डेटा रैंगलर स्वचालित रूप से आपके डेटासेट में अल्पसंख्यक नमूनों की नकल करके आपके लिए अल्पसंख्यक वर्ग का निरीक्षण करता है।

रैंडम अंडरसैंपल

रैंडम अंडरसैंपलिंग रैंडम ओवरसैंपलिंग के विपरीत है। यह विधि बहुसंख्यक वर्ग से बेतरतीब ढंग से नमूने चुनने और हटाने का प्रयास करती है, परिणामस्वरूप परिवर्तित डेटा में बहुसंख्यक वर्ग में उदाहरणों की संख्या कम हो जाती है। बिना सोचे समझे नमूना ट्रांसफ़ॉर्म प्रकार डेटा रैंगलर को आपके डेटासेट में अधिकांश नमूनों को हटाकर स्वचालित रूप से आपके लिए बहुसंख्यक वर्ग को कम करने देता है।

ऐसा मारा

SMOTE में, बहुसंख्यक और अल्पसंख्यक नमूनों के बीच वांछित अनुपात प्राप्त करने के लिए सिंथेटिक अल्पसंख्यक नमूने डेटा में जोड़े जाते हैं। सिंथेटिक नमूने मूल अल्पसंख्यक बिंदुओं के जोड़े के प्रक्षेप द्वारा उत्पन्न होते हैं। ऐसा मारा ट्रांसफ़ॉर्म संख्यात्मक और गैर-संख्यात्मक विशेषताओं सहित डेटासेट को संतुलित करने का समर्थन करता है। संख्यात्मक विशेषताओं को भारित औसत द्वारा प्रक्षेपित किया जाता है। हालांकि, आप गैर-संख्यात्मक सुविधाओं के लिए भारित औसत इंटरपोलेशन लागू नहीं कर सकते—औसत करना असंभव है “dog” और “cat” उदाहरण के लिए। इसके बजाय, औसत वजन के अनुसार गैर-संख्यात्मक विशेषताओं को या तो मूल अल्पसंख्यक नमूने से कॉपी किया जाता है।

उदाहरण के लिए, दो नमूने, ए और बी पर विचार करें:

A = [1, 2, "dog", "carnivore"]
B = [0, 0, "cow", "herbivore"]

मान लें कि नमूने नमूना ए के लिए 0.3 और नमूना बी के लिए 0.7 वजन के साथ प्रक्षेपित किए गए हैं। इसलिए, संख्यात्मक क्षेत्रों को क्रमशः 0.3 और 0.6 प्राप्त करने के लिए इन भारों के साथ औसत किया जाता है। अगला क्षेत्र भरा हुआ है “dog” संभाव्यता 0.3 और के साथ “cow” संभाव्यता 0.7 के साथ। इसी तरह, अगला बराबर है “carnivore” संभाव्यता 0.3 और के साथ “herbivore” संभाव्यता 0.7 के साथ। यादृच्छिक प्रतिलिपि प्रत्येक सुविधा के लिए स्वतंत्र रूप से की जाती है, इसलिए नीचे नमूना C एक संभावित परिणाम है:

C = [0.3, 0.6, "dog", "herbivore"]

यह उदाहरण दर्शाता है कि प्रक्षेप प्रक्रिया का परिणाम अवास्तविक सिंथेटिक नमूनों में कैसे हो सकता है, जैसे कि एक शाकाहारी कुत्ता। यह श्रेणीबद्ध विशेषताओं के साथ अधिक सामान्य है, लेकिन संख्यात्मक सुविधाओं में भी हो सकता है। हालांकि कुछ सिंथेटिक नमूने अवास्तविक हो सकते हैं, SMOTE अभी भी वर्गीकरण प्रदर्शन में सुधार कर सकता है।

अधिक यथार्थवादी नमूने उत्पन्न करने के लिए, SMOTE केवल उन जोड़ियों को प्रक्षेपित करता है जो फीचर स्पेस में करीब हैं। तकनीकी रूप से, प्रत्येक नमूने को केवल उसके k-निकटतम पड़ोसियों के साथ प्रक्षेपित किया जाता है, जहाँ k के लिए एक सामान्य मान 5 है। SMOTE के हमारे कार्यान्वयन में, बिंदुओं के बीच की दूरी की गणना करने के लिए केवल संख्यात्मक विशेषताओं का उपयोग किया जाता है (दूरी का उपयोग पड़ोस को निर्धारित करने के लिए किया जाता है) प्रत्येक नमूने का)। दूरियों की गणना करने से पहले संख्यात्मक विशेषताओं को सामान्य करना सामान्य है। ध्यान दें कि केवल दूरी की गणना के उद्देश्य से संख्यात्मक विशेषताओं को सामान्यीकृत किया जाता है; परिणामी प्रक्षेपित विशेषताएं सामान्यीकृत नहीं हैं।

चलिए अब बैलेंस करते हैं वयस्क डेटासेट (जनगणना आय डेटासेट के रूप में भी जाना जाता है) डेटा रैंगलर द्वारा प्रदान किए गए अंतर्निहित SMOTE रूपांतरण का उपयोग करते हुए। इस बहुभिन्नरूपी डेटासेट में छह संख्यात्मक सुविधाएँ और आठ स्ट्रिंग सुविधाएँ शामिल हैं। डेटासेट का लक्ष्य यह अनुमान लगाने के लिए एक द्विआधारी वर्गीकरण कार्य है कि किसी व्यक्ति की आय प्रति वर्ष $50,000 से अधिक है या जनगणना के आंकड़ों पर आधारित नहीं है।

आप का उपयोग करके हिस्टोग्राम बनाकर नेत्रहीन रूप से कक्षाओं का वितरण भी देख सकते हैं डेटा रैंगलर में हिस्टोग्राम विश्लेषण प्रकार. लक्ष्य वितरण असंतुलित है और रिकॉर्ड का अनुपात >50K सेवा मेरे <=50K लगभग 1:4 है।

का उपयोग करके हम इस डेटा को संतुलित कर सकते हैं ऐसा मारा ऑपरेटर के तहत पाया गया बैलेंस डेटा निम्न चरणों के साथ डेटा रैंगलर में परिवर्तन करें:

  1. चुनें income लक्ष्य स्तंभ के रूप में।

हम चाहते हैं कि इस कॉलम का वितरण अधिक संतुलित हो।

  1. वांछित अनुपात सेट करें 0.66.

इसलिए, अल्पसंख्यक और बहुसंख्यक नमूनों की संख्या के बीच का अनुपात 2:3 है (1:4 के कच्चे अनुपात के बजाय)।

  1. चुनें ऐसा मारा उपयोग करने के लिए परिवर्तन के रूप में।
  2. के लिए डिफ़ॉल्ट मान छोड़ दें पड़ोसियों की संख्या औसत करना और सामान्य करना है या नहीं।
  3. चुनें पूर्वावलोकन लागू परिवर्तन का पूर्वावलोकन प्राप्त करने और चुनने के लिए अपने डेटा प्रवाह में रूपांतरण जोड़ने के लिए।

अब हम एक नया हिस्टोग्राम बना सकते हैं जैसा कि हमने कक्षाओं के वास्तविक वितरण को देखने के लिए पहले किया था। निम्नलिखित आंकड़ा के हिस्टोग्राम को दर्शाता है income डेटासेट को संतुलित करने के बाद कॉलम। जैसा कि इरादा था, नमूनों का वितरण अब 3:2 है।

अब हम इस नए संतुलित डेटा को निर्यात कर सकते हैं और इस पर एक क्लासिफायरियर को प्रशिक्षित कर सकते हैं, जिससे बेहतर भविष्यवाणी गुणवत्ता प्राप्त हो सकती है।

निष्कर्ष

इस पोस्ट में, हमने प्रदर्शित किया कि डेटा रैंगलर का उपयोग करके असंतुलित बाइनरी वर्गीकरण डेटा को कैसे संतुलित किया जाए। डेटा रैंगलर तीन बैलेंसिंग ऑपरेटर प्रदान करता है: रैंडम अंडरसैंपलिंग, रैंडम ओवरसैंपलिंग, और आपके असंतुलित डेटासेट में डेटा को रीबैलेंस करने के लिए SMOTE। डेटा रैंगलर द्वारा पेश की गई सभी तीन विधियाँ संख्यात्मक और गैर-संख्यात्मक सुविधाओं सहित मल्टी-मोडल डेटा का समर्थन करती हैं।

अगले चरणों के रूप में, हम अनुशंसा करते हैं कि आप इस पोस्ट में उदाहरण को अपने डेटा रैंगलर डेटा प्रवाह में दोहराने के लिए देखें कि हमने कार्रवाई में क्या चर्चा की। यदि आप डेटा रैंगलर के लिए नए हैं या सेजमेकर स्टूडियो, को देखें डेटा रैंगलर के साथ शुरुआत करें. यदि आपके पास इस पोस्ट से संबंधित कोई प्रश्न हैं, तो कृपया इसे टिप्पणी अनुभाग में जोड़ें।


लेखक के बारे में

योटम एलोर Amazon SageMaker में वरिष्ठ अनुप्रयुक्त वैज्ञानिक हैं। उनकी शोध रुचियां मशीन लर्निंग में हैं, विशेष रूप से सारणीबद्ध डेटा के लिए।

अरुणाप्रसथ शंकर AWS के साथ आर्टिफिशियल इंटेलिजेंस एंड मशीन लर्निंग (AI / ML) स्पेशलिस्ट सॉल्यूशन आर्किटेक्ट है, जो वैश्विक ग्राहकों को क्लाउड में प्रभावी ढंग से और कुशलता से अपने AI समाधानों को स्केल करने में मदद करता है। अपने खाली समय में, अरुण को विज्ञान-फाई फिल्में देखने और शास्त्रीय संगीत सुनने का आनंद मिलता है।

स्रोत: https://aws.amazon.com/blogs/machine-learning/balance-your-data-for-machine-learning-with-amazon-sagemaker-data-wrangler/

समय टिकट:

से अधिक एडब्ल्यूएस मशीन लर्निंग ब्लॉग