मानों की एक रेंज को मानकीकृत रेंज में बदलने की प्रक्रिया को नॉर्मलाइज़ेशन के नाम से जाना जाता है। ये मान -1 से +1 या 0 से 1 के बीच हो सकते हैं। डेटा को घटाव और विभाजन की मदद से भी नॉर्मलाइज़ किया जा सकता है।
लर्निंग एल्गोरिदम को इनपुट के रूप में दिया गया डेटा सुसंगत और संरचित रहना चाहिए। इनपुट डेटा की सभी विशेषताएं प्रभावी ढंग से मानों का अनुमान लगाने के लिए एक ही पैमाने पर होनी चाहिए। लेकिन वास्तविक दुनिया में, डेटा असंरचित होता है, और ज्यादातर समय, एक ही पैमाने पर नहीं होता।
यहीं पर नॉर्मलाइज़ेशन तस्वीर में आता है। यह सबसे महत्वपूर्ण डेटा-तैयारी प्रक्रियाओं में से एक है।
नॉर्मलाइज़ेशन की प्रक्रिया के दौरान, मानों की रेंज को गैर-विकृत (non-distorted) सुनिश्चित किया जाता है।
नोट - मशीन लर्निंग एल्गोरिदम को दिए गए सभी इनपुट डेटासेट को नॉर्मलाइज़ करने की आवश्यकता नहीं होती। नॉर्मलाइज़ेशन केवल तभी आवश्यक है जब किसी डेटासेट में विशेषताओं के पूरी तरह से अलग पैमाने के मान हों।
नॉर्मलाइज़ेशन के विभिन्न प्रकार हैं:
- मिन-मैक्स नॉर्मलाइज़ेशन
- Z नॉर्मलाइज़ेशन
- यूनिट वेक्टर नॉर्मलाइज़ेशन
आइए समझते हैं कि L1 नॉर्मलाइज़ेशन कैसे काम करता है।
इसे लीस्ट एब्सोल्यूट डेविएशन्स (Least Absolute Deviations) के नाम से भी जाना जाता है, यह डेटा को इस तरह बदलता है कि हर पंक्ति में निरपेक्ष मानों का योग 1 रहे।
आइए देखते हैं कि पायथन में scikit-learn का उपयोग करके L1 नॉर्मलाइज़ेशन कैसे लागू किया जा सकता है।
उदाहरण
import numpy as np
from sklearn import preprocessing
input_data = np.array(
[[34.78, 31.9, -65.5], [-16.5, 2.45, -83.5], [0.5, -87.98, 45.62], [5.9, 2.38, -55.82]]
)
data_normalized_l1 = preprocessing.normalize(input_data, norm='l1')
print("\nL1 normalized data is \n", data_normalized_l1)आउटपुट
L1 normalized data is [[ 0.26312604 0.24133757 -0.49553639] [-0.16105417 0.0239141 -0.81503172] [ 0.00372856 -0.65607755 0.34019389] [ 0.09204368 0.03712949 -0.87082683]]
व्याख्या
- आवश्यक पैकेज आयात किए जाते हैं।
- इनपुट डेटा नम्पाई लाइब्रेरी का उपयोग करके उत्पन्न किया जाता है।
- 'preprocessing' क्लास में मौजूद 'normalize' फंक्शन का उपयोग डेटा को नॉर्मलाइज़ करने के लिए किया जाता है।
- नॉर्मलाइज़ेशन का प्रकार 'l1' के रूप में निर्दिष्ट किया जाता है।
- इस तरह, सरणी में कोई भी डेटा नॉर्मलाइज़ हो जाता है और हर पंक्ति का योग केवल 1 होता है।
- यह नॉर्मलाइज़्ड डेटा कंसोल पर प्रदर्शित होता है।