पायथन में डेटा का सामान्यीकरण

Normalization Data Python



डेटा का सामान्यीकरण एक ऐसी तकनीक है जो परिणाम को तेज़ी से प्राप्त करने में मदद करती है क्योंकि मशीन को डेटा की एक छोटी श्रेणी को संसाधित करना पड़ता है। सामान्यीकरण कोई आसान काम नहीं है क्योंकि आपके सभी परिणाम आपके सामान्यीकरण विधि के चुनाव पर निर्भर करते हैं। इसलिए, यदि आपने अपने डेटा को सामान्य करने के लिए गलत तरीका चुना है, तो आपको अपनी अपेक्षाओं से कुछ अलग मिल सकता है।

सामान्यीकरण भी डेटा प्रकार जैसे छवियों, पाठ, संख्यात्मक, आदि पर निर्भर करता है। इसलिए, प्रत्येक डेटा प्रकार को सामान्य करने के लिए एक अलग विधि होती है। इसलिए, इस लेख में, हम संख्यात्मक डेटा पर ध्यान केंद्रित कर रहे हैं।







विधि 1: स्केलेर का उपयोग करना

डेटा को सामान्य करने के लिए स्केलेर विधि एक बहुत प्रसिद्ध विधि है।





सेल नंबर [83] में : हम सभी आवश्यक पुस्तकालयों, NumPy और sklearn का आयात करते हैं। आप देख सकते हैं कि हम स्केलेर से ही प्रीप्रोसेसिंग आयात करते हैं। इसलिए यह स्केलेर सामान्यीकरण विधि है।





सेल नंबर [84] में : हमने कुछ पूर्णांक मान के साथ एक NumPy सरणी बनाई है जो समान नहीं है।

सेल नंबर [85] में : हमने प्रीप्रोसेसिंग से सामान्यीकृत विधि को बुलाया और numpy_array पास किया, जिसे हमने अभी एक पैरामीटर के रूप में बनाया है।



सेल नंबर [86] में : हम परिणामों से देख सकते हैं, हमारे सभी पूर्णांक डेटा अब 0 और 1 के बीच सामान्यीकृत हैं।

विधि 2: स्केलेर का उपयोग करके डेटासेट में किसी विशेष कॉलम को सामान्य करें

हम विशेष डेटासेट कॉलम को सामान्य भी कर सकते हैं। इसमें हम इसी के बारे में चर्चा करने जा रहे हैं।


सेल नंबर [87] में : हम पुस्तकालय पांडा और स्केलेर आयात करते हैं।

सेल नंबर [88] में : हमने एक डमी CSV फ़ाइल बनाई है, और अब हम उस CSV फ़ाइल को पांडा (read_csv) पैकेज की मदद से लोड कर रहे हैं।

सेल नंबर [89] में : हम उस CSV फ़ाइल को प्रिंट करते हैं जिसे हमने हाल ही में लोड किया है।

सेल नंबर [९०] में : हम np का उपयोग करके CSV फ़ाइल के विशेष कॉलम को पढ़ते हैं। सरणी और परिणाम को value_array पर संग्रहीत करें।

सेल नंबर [92] में , हमने प्रीप्रोसेसिंग से सामान्यीकृत विधि को बुलाया और value_array पैरामीटर पारित किया।

विधि 3: कॉलम को सरणी में उपयोग किए बिना सामान्यीकृत करने के लिए कनवर्ट करें (स्केलेर का उपयोग करके)

पिछली विधि 2 में, हमने चर्चा की थी कि किसी विशेष CSV फ़ाइल कॉलम को कैसे सामान्य किया जा सकता है। लेकिन कभी-कभी हमें पूरे डेटासेट को सामान्य करने की आवश्यकता होती है, फिर हम नीचे दी गई विधि का उपयोग कर सकते हैं जहां हम पूरे डेटासेट को सामान्य करते हैं लेकिन कॉलम-वार (अक्ष = 0) के साथ। यदि हम अक्ष = 1 का उल्लेख करते हैं, तो यह पंक्ति-वार सामान्यीकरण करेगा। अक्ष = 1 डिफ़ॉल्ट मान से है।


सेल नंबर [93] में : हम पुस्तकालय पांडा और स्केलेर आयात करते हैं।

सेल नंबर [94] में : हमने एक डमी CSV फ़ाइल (demo_numeric.csv) बनाई, और अब हम उस CSV फ़ाइल को पांडा (read_csv) पैकेज की मदद से लोड कर रहे हैं।

सेल नंबर [95] में : हम उस CSV फ़ाइल को प्रिंट करते हैं जिसे हमने हाल ही में लोड किया है।

सेल नंबर [96] में : अब, हम एक और अतिरिक्त पैरामीटर अक्ष = 0 के साथ पूरी CSV फ़ाइल पास करते हैं, जो पुस्तकालय को बताती है कि उपयोगकर्ता संपूर्ण डेटासेट कॉलम-वार को सामान्य बनाना चाहता है।

सेल नंबर [97] में , हम परिणाम को प्रिंट करते हैं और डेटा को 0 और 1 के बीच मान के साथ सामान्य करते हैं।

विधि 4: MinMaxScaler का उपयोग करना ()

स्केलेर सामान्यीकरण की एक और विधि भी प्रदान करता है, जिसे हम इसे मिनमैक्सस्केलर कहते हैं। यह भी एक बहुत ही लोकप्रिय तरीका है क्योंकि इसका उपयोग करना आसान है।


सेल नंबर [98] में : हम सभी आवश्यक पैकेज आयात करते हैं।

सेल नंबर [99] में : हमने एक डमी CSV फ़ाइल (demo_numeric.csv) बनाई, और अब हम उस CSV फ़ाइल को पांडा (read_csv) पैकेज की मदद से लोड कर रहे हैं।

सेल नंबर में [१००] : हम उस CSV फ़ाइल को प्रिंट करते हैं जिसे हमने हाल ही में लोड किया है।

सेल नंबर [101] में : हमने प्रीप्रोसेसिंग विधि से MinMaxScalar को कॉल किया और उसके लिए एक ऑब्जेक्ट (min_max_Scalar) बनाया। हमने कोई पैरामीटर पारित नहीं किया क्योंकि हमें 0 और 1 के बीच डेटा को सामान्य करने की आवश्यकता है। लेकिन यदि आप चाहें, तो आप अपने मान जोड़ सकते हैं जो अगली विधि में देखा जाएगा।

सेल नंबर [102] में : हम पहले परिणाम प्रदर्शित करने के लिए आगे उपयोग के लिए कॉलम के सभी नाम पढ़ते हैं। फिर हम बनाई गई वस्तु min_max_Scalar से fit_tranform को कॉल करते हैं और उसमें CSV फ़ाइल पास करते हैं।

सेल नंबर [103] में : हमें सामान्यीकृत परिणाम मिलते हैं जो 0 और 1 के बीच होते हैं।

विधि 5: MinMaxScaler(feature_range=(x,y)) का उपयोग करना

स्केलेर आप जो चाहते हैं उसके सामान्यीकृत मूल्य को बदलने का विकल्प भी प्रदान करता है। डिफ़ॉल्ट रूप से, वे 0 और 1 के बीच के मान को सामान्य करते हैं। लेकिन एक पैरामीटर है जिसे हम फीचर_रेंज कहते हैं, जो हमारी आवश्यकताओं के अनुसार सामान्यीकृत मान सेट कर सकता है।

सेल नंबर [104] में : हम सभी आवश्यक पैकेज आयात करते हैं।

सेल नंबर [105] में : हमने एक डमी CSV फ़ाइल (demo_numeric.csv) बनाई, और अब हम उस CSV फ़ाइल को पांडा (read_csv) पैकेज की मदद से लोड कर रहे हैं।

सेल नंबर [106] में : हम उस CSV फ़ाइल को प्रिंट करते हैं जिसे हमने हाल ही में लोड किया है।

सेल नंबर [107] में : हमने प्रीप्रोसेसिंग विधि से MinMaxScalar को कॉल किया और उसके लिए एक ऑब्जेक्ट (min_max_Scalar) बनाया। लेकिन हम MinMaxScaler (फीचर_रेंज) के अंदर एक और पैरामीटर भी पास करते हैं। वह पैरामीटर मान हम 0 से 2 पर सेट करते हैं। तो अब, MinMaxScaler 0 से 2 के बीच डेटा मानों को सामान्य करेगा।

सेल नंबर में [१०८] : हम पहले परिणाम प्रदर्शित करने के लिए आगे उपयोग के लिए कॉलम के सभी नाम पढ़ते हैं। फिर हम बनाई गई वस्तु min_max_Scalar से fit_tranform को कॉल करते हैं और उसमें CSV फ़ाइल पास करते हैं।

सेल नंबर [109] में : हमें सामान्यीकृत परिणाम मिलते हैं जो 0 और 2 के बीच होते हैं।

विधि 6: अधिकतम निरपेक्ष स्केलिंग का उपयोग करना

हम पांडा का उपयोग करके डेटा को सामान्य भी कर सकते हैं। ये फीचर डेटा को नॉर्मल करने में भी काफी पॉपुलर हैं। अधिकतम निरपेक्ष स्केलिंग 0 और 1 के बीच मूल्यों को सामान्य करता है। हम यहां .max () और .abs () को नीचे दिखाए गए अनुसार लागू कर रहे हैं:

सेल नंबर [११०] में : हम पांडा के पुस्तकालय का आयात करते हैं।

सेल नंबर [१११] में : हमने एक डमी डेटाफ़्रेम बनाया और उस डेटाफ़्रेम को प्रिंट किया।

सेल नंबर [113] में : हम प्रत्येक कॉलम को कॉल करते हैं और फिर कॉलम मानों को .max() और .abs() से विभाजित करते हैं।

सेल नंबर में [११४] : हम परिणाम प्रिंट करते हैं, और परिणाम से, हम पुष्टि करते हैं कि हमारा डेटा 0 और 1 के बीच सामान्य हो जाता है।

विधि 7: z-स्कोर पद्धति का उपयोग करना

अगली विधि जिस पर हम चर्चा करने जा रहे हैं वह है z-score विधि। यह विधि सूचना को वितरण में परिवर्तित करती है। यह विधि प्रत्येक कॉलम के माध्य की गणना करती है और फिर प्रत्येक कॉलम से घटाती है और अंत में इसे मानक विचलन से विभाजित करती है। यह -1 और 1 के बीच के डेटा को सामान्य करता है।

सेल नंबर [११५] में : हमने एक डमी डेटाफ़्रेम बनाया और उस डेटाफ़्रेम को प्रिंट किया।

सेल नंबर [117] में : हम कॉलम के माध्य की गणना करते हैं और इसे कॉलम से घटाते हैं। फिर हम कॉलम मान को मानक विचलन से विभाजित करते हैं।

सेल नंबर [118] में : हम सामान्यीकृत डेटा को -1 और 1 के बीच प्रिंट करते हैं।

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