Python में मशीन लर्निंग के लिए डेटा तैयारी
मशीन लर्निंग मॉडल संख्याओं से सीखते हैं, और जब फ़ीचर का स्केल मिलता-जुलता हो तो बेहतर सीखते हैं। नॉर्मलाइज़ेशन और स्टैंडर्डाइज़ेशन डेटा का स्केल बदलते हैं, और मैट्रिक्स गुणा वह तरीका है जिससे मॉडल कई फ़ीचर एक साथ जोड़ते हैं।
आसान शब्दों में अवधारणा
मशीन लर्निंग मॉडल संख्याओं से सीखते हैं, और जब फ़ीचर का स्केल मिलता-जुलता हो तो बेहतर सीखते हैं। नॉर्मलाइज़ेशन और स्टैंडर्डाइज़ेशन डेटा का स्केल बदलते हैं, और मैट्रिक्स गुणा वह तरीका है जिससे मॉडल कई फ़ीचर एक साथ जोड़ते हैं।
min-max नॉर्मलाइज़ेशन और z-score स्टैंडर्डाइज़ेशन से फ़ीचर का स्केल बदलें, और मैट्रिक्स को हाथ से गुणा करें।
मुख्य बातें
- बहुत अलग स्केल वाले फ़ीचर होने पर बड़ी संख्याएँ मॉडल पर हावी हो जाती हैं।
- min-max मानों को 0 और 1 के बीच रखता है; z-score आकार वैसा ही रखते हुए केंद्र 0 पर लाता है।
- स्केलिंग के मान ट्रेनिंग डेटा से निकालें और नए डेटा पर वही इस्तेमाल करें।
- मैट्रिक्स गुणा A × B के लिए A के कॉलम की संख्या B की पंक्तियों के बराबर होनी चाहिए।
इसका उपयोग कब करें?
- समझें कि न्यूरल नेटवर्क और AI लाइब्रेरी के अंदर क्या होता है।
- संबंधित चुनौतियों में खुद लागू करने से पहले विचार को समझें।
- मशीन लर्निंग कोर्स, इंटरव्यू और प्रोजेक्ट की तैयारी करें।
इसे काम करते देखें
एक अलग-थलग मान बनाने के लिए x5 खिसकाएँ और देखें कि min-max और z-score कैसे बदलते हैं। A·B के किसी खाने पर पॉइंटर ले जाएँ और देखें कि वह कौन-सी पंक्ति और कॉलम इस्तेमाल करता है।
उदाहरण कोड
import statistics
heights = [150, 160, 170, 180, 190]
# Min-max scaling squeezes values into the range 0..1.
low, high = min(heights), max(heights)
print("min-max:", [round((h - low) / (high - low), 2) for h in heights])
# Z-score standardization centres values on 0 with a spread of 1.
mean = statistics.mean(heights)
std = statistics.pstdev(heights)
print("z-scores:", [round((h - mean) / std, 2) for h in heights])
# Matrix multiplication: each output is a row of A dotted with a column of B.
A = [[1, 2], [3, 4]]
B = [[5, 6], [7, 8]]
product = [[sum(A[i][k] * B[k][j] for k in range(2)) for j in range(2)] for i in range(2)]
print("A x B:", product)
अपेक्षित आउटपुट
min-max: [0.0, 0.25, 0.5, 0.75, 1.0]
z-scores: [-1.41, -0.71, 0.0, 0.71, 1.41]
A x B: [[19, 22], [43, 50]]
यह कैसे काम करता है
min-max स्केलिंग सबसे कम लंबाई को 0 और सबसे ज़्यादा को 1 बना देती है। z-score औसत घटाकर मानक विचलन से भाग देता है, इसलिए मान 0 के आसपास आ जाते हैं। मैट्रिक्स गुणनफल में हर खाना A की एक पंक्ति और B के एक कॉलम के तत्वों को गुणा करके जोड़ने से बनता है।
मान बदलें और Python इंस्टॉल किए बिना CodeUtility ऑनलाइन Python कंपाइलर में प्रोग्राम चलाएँ।
अभ्यास के कार्य
बड़े dataset पर जाने से पहले input बदलें और edge cases की जाँच करें।
- इनपुट या वेट बदलें और रन करने से पहले आउटपुट का अनुमान लगाएँ।
- हर गणना चरण को देखने के लिए बीच के मान प्रिंट करें।
- नीचे दी गई चुनौतियाँ हल करके विचार को खुद लागू करें।
चैलेंज से अभ्यास करें
इस पाठ में सीखी बात से एक असली समस्या हल करें। हर चैलेंज ब्राउज़र में चलता है, तुरंत टेस्ट और AI रिव्यू के साथ।
- मैट्रिक्स गुणन दो मैट्रिक्स का गुणा करें, जो न्यूरल नेटवर्क की हर लेयर के पीछे की गणना है। आसान
- मिन-मैक्स नॉर्मलाइज़ेशन किसी फ़ीचर को ऐसे स्केल करें कि सबसे छोटा मान 0 और सबसे बड़ा 1 हो जाए। आसान
- Z-स्कोर स्टैंडर्डाइज़ेशन किसी फ़ीचर का औसत 0 और मानक विचलन 1 कर दें। आसान