रैंडम नंबर का मतलब यह नहीं है कि हर बार एक नया नंबर आए। रैंडम का मतलब है कुछ ऐसा जो लॉजिकल तरीके से प्रेडिक्ट नहीं किया जा सकता।
कंप्यूटर प्रोग्राम्स पर काम करते हैं, और प्रोग्राम्स निश्चित निर्देशों का एक सेट होते हैं। इसलिए रैंडम नंबर जनरेट करने के लिए कोई एल्गोरिदम होना चाहिए। यदि कोई प्रोग्राम रैंडम नंबर जनरेट करता है, तो उसे प्रेडिक्ट किया जा सकता है, इसीलिए यह पूरी तरह से रैंडम नहीं होता।
इसलिए हम जो रैंडम नंबर जनरेट करते हैं, वे ‘Pseudo Random’ होते हैं, यानी जिनमें एक एल्गोरिदम के आधार पर रैंडमनेस होता है।
हां, हम सचमुच के रैंडम नंबर कंप्यूटर पर बना सकते हैं। इसके लिए हमें बाहरी स्रोत से डेटा चाहिए होता है, जैसे कि हमारी कीस्ट्रोक्स, माउस मूवमेंट्स, नेटवर्क डेटा आदि।
लेकिन हमें सचमुच के रैंडम नंबरों की ज़रूरत नहीं होती, जब तक कि यह सुरक्षा से संबंधित न हो (जैसे कि एन्क्रिप्शन कीज़) या अगर ऐप्लिकेशन के आधार पर रैंडमनेस की ज़रूरत हो (जैसे डिजिटल रूलट वील्स)।
NumPy में रैंडम नंबर जनरेट करने के लिए ‘random’ मॉड्यूल का उपयोग किया जाता है। यहां हम कुछ उदाहरणों के माध्यम से रैंडम नंबर जनरेट करने के तरीके को देखेंगे।
रैंडम इंटीजर जनरेट करने के लिए हम ‘random.randint()’ मेथड का उपयोग करते हैं। उदाहरण के लिए, 0 से 100 तक एक रैंडम इंटीजर जनरेट करना:
from numpy import random
x = random.randint(100)
print(x)
अगर हमें 0 से 1 के बीच रैंडम फ्लोट जनरेट करना हो तो हम ‘random.rand()’ का उपयोग करते हैं:
from numpy import random
x = random.rand()
print(x)
NumPy में हम रैंडम एरे भी जनरेट कर सकते हैं। उदाहरण के लिए, 5 रैंडम इंटीजर से एक 1-D एरे:
from numpy import random
x = random.randint(100, size=(5))
print(x)
‘random.choice()’ मेथड का उपयोग करके हम किसी ऐरे से रैंडम वैल्यूज जनरेट कर सकते हैं। उदाहरण के लिए:
from numpy import random
x = random.choice([3, 5, 7, 9])
print(x)