Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन - फ़ीचर स्केलिंग कैसे और कहाँ लागू करें?

यह डेटा प्री-प्रोसेसिंग का एक चरण है जो स्वतंत्र चर या डेटा की विशेषताओं पर लागू होता है। यह मूल रूप से एक विशेष सीमा के भीतर डेटा को सामान्य करने में मदद करता है।

स्केलिंग क्यों?

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

अगर अकेले छोड़ दिया जाए, तो ये एल्गोरिदम केवल इकाइयों की उपेक्षा करने वाली सुविधाओं की परिमाण में लेते हैं। परिणाम विभिन्न इकाइयों, 5 किग्रा और 5000 ग्राम के बीच बहुत भिन्न होंगे।

कम परिमाण वाली सुविधाओं की तुलना में उच्च परिमाण वाली विशेषताएं दूरी की गणना में बहुत अधिक महत्व रखती हैं।

इस प्रभाव को कम करने के लिए, हमें सभी विशेषताओं को समान परिमाण में लाने की आवश्यकता है। इसे स्केलिंग द्वारा प्राप्त किया जा सकता है।

सुविधाओं को कैसे मापें?

  • मानकीकरण - मानकीकरण मानों को उनके Z स्कोर से बदल देता है।
  • $$x^{\prime}=\frac{x\:-\:\bar{x}}{\sigma}$$यह सुविधाओं को उनके माध्य μ =0 और मानक विचलन σ =1 के साथ पुनर्वितरित करता है। sklearn.preprocessing.scale हमें पायथन में मानकीकरण लागू करने में मदद करता है।
  • माध्य सामान्यीकरण -
  • $$x^{\prime}=\frac{x\:-\:mean(x)}{\max(x)\:-\:\min(x)}$$

    इस वितरण के मान -1 और 1 . के बीच होंगे μ =0 के साथ। मानकीकरण और माध्य सामान्यीकरण एल्गोरिदम के लिए इस्तेमाल किया जा सकता है जो शून्य केंद्रित डेटा मानता है जैसे प्रिंसिपल कंपोनेंट एनालिसिस (पीसीए)

  • न्यूनतम-अधिकतम स्केलिंग
  • $$x^{\prime}=\frac{x\:-\:\min(x)}{\max(x)\:-\:\min(x)}$$

    यह स्केलिंग 0 और 1 के बीच मान लाता है।

  • इकाई वेक्टर -
  • $$x^{\prime}=\frac{x}{\lVert\:x\:\rVert}$$

    पूरे फीचर वेक्टर को इकाई लंबाई का मानते हुए स्केलिंग की जाती है।न्यूनतम-अधिकतम स्केलिंग और यूनिट वेक्टर तकनीक रेंज के मान उत्पन्न करती है [0,1]। कठिन सीमाओं के साथ सुविधाओं के साथ काम करते समय यह काफी उपयोगी होता है। उदाहरण के लिए, छवि डेटा के साथ काम करते समय, रंग केवल 0 से 255 तक हो सकते हैं।

कब स्केल करना है?

यहां पालन करने के लिए अंगूठे का नियम कोई भी एल्गोरिदम है जो दूरी की गणना करता है या सामान्यता मानता है, आपकी विशेषताओं को मापता है।

एल्गोरिदम के कुछ उदाहरण जहां फीचर स्केलिंग मायने रखती है -

  • यूक्लिडियन दूरी माप के साथ k-निकटतम पड़ोसी परिमाण के प्रति संवेदनशील होते हैं और इसलिए सभी सुविधाओं को समान रूप से वजन करने के लिए स्केल किया जाना चाहिए।

  • प्रिंसिपल कंपोनेंट एनालिसिस (पीसीए) करते समय स्केलिंग महत्वपूर्ण है। पीसीए अधिकतम विचरण के साथ सुविधाओं को प्राप्त करने की कोशिश करता है और उच्च परिमाण सुविधाओं के लिए विचरण अधिक होता है। यह पीसीए को उच्च परिमाण सुविधाओं की ओर ले जाता है।

  • हम स्केलिंग द्वारा ग्रेडिएंट डिसेंट को गति दे सकते हैं। ऐसा इसलिए है क्योंकि θ छोटी श्रेणियों पर और धीरे-धीरे बड़ी श्रेणियों पर उतरेगा, और इसलिए जब चर बहुत असमान होते हैं तो अक्षम रूप से इष्टतम तक नीचे आ जाएगा।

  • वृक्ष आधारित मॉडल दूरी आधारित मॉडल नहीं हैं और विभिन्न प्रकार की विशेषताओं को संभाल सकते हैं। इसलिए, पेड़ों की मॉडलिंग करते समय स्केलिंग की आवश्यकता नहीं होती है।

  • लीनियर डिस्क्रिमिनेंट एनालिसिस (LDA), Naive Bayes जैसे एल्गोरिदम इसे संभालने के लिए डिज़ाइन से सुसज्जित हैं और तदनुसार सुविधाओं को वज़न देते हैं। हो सकता है कि इन एल्गोरिथम में स्केलिंग सुविधाओं के प्रदर्शन का अधिक प्रभाव न हो।


  1. Windows 10 अप्रैल 2018 अपडेट:नई सुविधाएं और उनका उपयोग कैसे करें

    विंडोज़ ने हाल ही में अपना नवीनतम अपडेट लॉन्च किया है जो बहुत बढ़िया उपहारों से भरा है। यह देखना जल्दबाजी होगी कि क्या यह नया अपडेट कोई अवांछित सुविधाएँ लाता है, लेकिन इसमें कुछ ऐसे हैं जो काफी उपयोगी हैं। यह अपडेट कितना उपयोगी होने वाला है, यह तो समय ही बताएगा। Microsoft Edge को अंततः कुछ सुविधाएँ

  1. पायथन में *args और **kwargs का उपयोग कैसे करें?

    पायथन में, *args के सिंगल-एस्टरिस्क फॉर्म को फंक्शन्स के लिए गैर-कीवर्ड वैरिएबल-लेंथ तर्क सूची भेजने के लिए पैरामीटर के रूप में उपयोग किया जा सकता है। यह देखा गया है कि तारांकन (*) यहाँ महत्वपूर्ण है, और शब्द args के साथ इसका अर्थ है कि गैर-कीवर्ड तर्कों की एक चर लंबाई सूची है। उदाहरण *args पर दिए

  1. पायथन वेरिएबल्स - पायथन में वेरिएबल्स की घोषणा और उपयोग कैसे करें

    पायथन में वेरिएबल बनाने और उनका उपयोग करने के बारे में एक गाइड। पायथन वैरिएबल चर नामित स्थान हैं जिनका उपयोग स्मृति में संग्रहीत वस्तु के संदर्भों को संग्रहीत करने के लिए किया जाता है। जब हम पायथन में वेरिएबल बनाते हैं, तो हमें निम्नलिखित नियमों पर विचार करना चाहिए: एक चर नाम एक अक्षर या अंडरस्को