फीचर स्केलिंग मशीन लर्निंग एल्गोरिदम बनाने में डेटा प्री-प्रोसेसिंग चरण में एक महत्वपूर्ण कदम है। यह डेटा को एक विशिष्ट रेंज में आने के लिए नॉर्मलाइज़ करने में मदद करता है।
कभी-कभी, यह मशीन द्वारा गणना किए जाने की गति को बढ़ाने में भी मदद करता है।
इसकी आवश्यकता क्यों है?
लर्निंग एल्गोरिदम को इनपुट के रूप में दिया गया डेटा सुसंगत और संरचित रहना चाहिए। इनपुट डेटा की सभी विशेषताएं प्रभावी ढंग से मानों का अनुमान लगाने के लिए एक ही पैमाने पर होनी चाहिए। लेकिन वास्तविक दुनिया में, डेटा असंरचित होता है, और ज्यादातर समय, एक ही पैमाने पर नहीं होता।
यहीं पर नॉर्मलाइज़ेशन तस्वीर में आता है। यह सबसे महत्वपूर्ण डेटा-तैयारी प्रक्रियाओं में से एक है। यह इनपुट डेटासेट के कॉलम के मानों को एक ही पैमाने पर लाने में मदद करता है।
आइए समझते हैं कि पायथन में scikit-learn लाइब्रेरी का उपयोग करके फीचर स्केलिंग कैसे की जा सकती है।
उदाहरण
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_scaler_minmax = preprocessing.MinMaxScaler(feature_range=(0, 1))
data_scaled_minmax = data_scaler_minmax.fit_transform(input_data)
print("\nThe scaled data is \n", data_scaled_minmax)आउटपुट
The scaled data is [[1. 1. 0.1394052 ] [0. 0.75433767 0. ] [0.33151326 0. 1. ] [0.43681747 0.75375375 0.21437423]]
व्याख्या
- आवश्यक पैकेज आयात किए जाते हैं।
- इनपुट डेटा नम्पाई लाइब्रेरी का उपयोग करके उत्पन्न किया जाता है।
- 'preprocessing' क्लास में मौजूद 'MinMaxScaler' फंक्शन का उपयोग डेटा को 0 और 1 की रेंज में स्केल करने के लिए किया जाता है।
- इस तरह, सरणी में कोई भी डेटा 0 और 1 के बीच मान तक स्केल डाउन हो जाता है।
- यह स्केल्ड डेटा कंसोल पर प्रदर्शित होता है।