छद्म-रैंडम संख्या जेनरेशन

Python में Sampling

James Chapman

Curriculum Manager, DataCamp

रैंडम का मतलब क्या है?

{adjective} बिना किसी विधि या जागरूक निर्णय के बनाई, की गई, घटित, या चुनी गई चीज़।

1 Oxford Languages
Python में Sampling

सच्ची रैंडम संख्याएँ

  • भौतिक प्रक्रियाओं से बनाई जाती हैं, जैसे सिक्का उछालना
  • Hotbits रेडियोधर्मी क्षय का उपयोग करता है
  • RANDOM.ORG वायुमंडलीय शोर का उपयोग करता है
  • सच्ची रैंडमनेस महंगी होती है
1 https://www.fourmilab.ch/hotbits 2 https://www.random.org
Python में Sampling

छद्म-रैंडम संख्या जेनरेशन

  • Pseudo-random number generation सस्ता और तेज़ है
  • अगली "रैंडम" संख्या पिछली "रैंडम" संख्या से निकाली जाती है
  • पहली "रैंडम" संख्या एक seed से निकाली जाती है
  • वही seed मान वही रैंडम संख्याएँ देता है
Python में Sampling

छद्म-रैंडम जेनरेशन का उदाहरण

seed = 1
calc_next_random(seed)
3
calc_next_random(3)
2
calc_next_random(2)
6
Python में Sampling

रैंडम संख्या बनाने वाले फंक्शन

  • numpy.random से शुरू करें, जैसे numpy.random.beta()
function distribution function distribution
.beta Beta .hypergeometric Hypergeometric
.binomial Binomial .lognormal Lognormal
.chisquare Chi-squared .negative_binomial Negative binomial
.exponential Exponential .normal Normal
.f F .poisson Poisson
.gamma Gamma .standard_t t
.geometric Geometric .uniform Uniform
Python में Sampling

रैंडम संख्याओं का विजुअलाइजेशन

randoms = np.random.beta(a=2, b=2, size=5000)
randoms
array([0.6208281 , 0.73216171, 0.44298403, ..., 
       0.13411873, 0.52198411, 0.72355098])
plt.hist(randoms, bins=np.arange(0, 1, 0.05))
plt.show()

हिस्टोग्राम: बीटा-वितरण

Python में Sampling

रैंडम नंबर seeds

np.random.seed(20000229)
np.random.normal(loc=2, scale=1.5, size=2)
array([-0.59030264, 1.87821258])
np.random.normal(loc=2, scale=1.5, size=2)
array([2.52619561, 4.9684949 ])
np.random.seed(20000229)
np.random.normal(loc=2, scale=1.5, size=2)
array([-0.59030264, 1.87821258])
np.random.normal(loc=2, scale=1.5, size=2)
array([2.52619561, 4.9684949 ])
Python में Sampling

अलग seed का उपयोग

np.random.seed(20000229)
np.random.normal(loc=2, scale=1.5, size=2)
array([-0.59030264, 1.87821258])
np.random.normal(loc=2, scale=1.5, size=2)
array([2.52619561, 4.9684949 ])
np.random.seed(20041004)
np.random.normal(loc=2, scale=1.5, size=2)
array([1.09364337, 4.55285159])
np.random.normal(loc=2, scale=1.5, size=2)
array([2.67038916, 2.36677492])
Python में Sampling

अभ्यास करते हैं!

Python में Sampling

Preparing Video For Download...