यह डेटा प्री-प्रोसेसिंग का एक चरण है जो स्वतंत्र चर या डेटा की विशेषताओं पर लागू होता है। यह मूल रूप से एक विशेष सीमा के भीतर डेटा को सामान्य करने में मदद करता है।
स्केलिंग क्यों?
अधिकांश समय, आपके डेटासेट में परिमाण, इकाइयों और श्रेणी में अत्यधिक भिन्नता वाली विशेषताएं होंगी। लेकिन चूंकि, अधिकांश मशीन लर्निंग एल्गोरिदम अपनी गणना में दो डेटा बिंदुओं के बीच यूक्लिडियन दूरी का उपयोग करते हैं, यह एक समस्या है।
अगर अकेले छोड़ दिया जाए, तो ये एल्गोरिदम केवल इकाइयों की उपेक्षा करने वाली सुविधाओं की परिमाण में लेते हैं। परिणाम विभिन्न इकाइयों, 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 जैसे एल्गोरिदम इसे संभालने के लिए डिज़ाइन से सुसज्जित हैं और तदनुसार सुविधाओं को वज़न देते हैं। हो सकता है कि इन एल्गोरिथम में स्केलिंग सुविधाओं के प्रदर्शन का अधिक प्रभाव न हो।