मैं [0,1] पर n स्वतंत्र एकसमान चर उत्पन्न करना चाहता हूं। मुझे यकीन नहीं है कि numpy.random.uniform(0,1,size=n) ठीक है क्योंकि मुझे कुछ भी नहीं बताता है कि डेटा स्वतंत्र रूप से उत्पन्न होता है।

क्या मुझे इसके बजाय numpy.random.uniform(0,1,size=1) पर n बार लूप करना है? क्या मुझे बीज के साथ कुछ करना है?

2
cocotte 7 जून 2021, 18:00

2 जवाब

सबसे बढ़िया उत्तर

आप फ़ंक्शन का उपयोग ठीक वैसे ही कर सकते हैं जैसे आपने लिखा था: numpy.random.uniform(0,1,size=n)। लूप मत करो।

दस्तावेज से "... कोई भी दिए गए अंतराल के भीतर मान समान रूप से वर्दी द्वारा निकाले जाने की संभावना है।" प्रत्येक मान उतना ही स्वतंत्र है जितना कि एक कंप्यूटर उन्हें बना सकता है।

एक बीज सेट करने से हर बार यादृच्छिक संख्याओं की एक ही सरणी बन जाएगी। यह परीक्षण के लिए उपयोगी है ताकि आप हर बार एक ही आउटपुट प्राप्त कर सकें, लेकिन यदि आप चाहते हैं कि हर बार फ़ंक्शन को कॉल करने पर सरणी यादृच्छिक संख्याओं का एक नया सेट हो, तो बीज सेट न करें।

0
BLimitless 7 जून 2021, 18:05

numpy.random.uniform(0,1,size=n) छद्म यादृच्छिक संख्या जनरेटर का उपयोग करके यथासंभव स्वतंत्र रूप से मान उत्पन्न करता है।

यदि आप आश्वस्त नहीं हैं, तो आप जांच सकते हैं कि आकार तर्क और लूप के लिए आपको बिल्कुल वही परिणाम मिलेंगे:

import numpy as np

n = 5

np.random.seed(5)
print(np.random.uniform(0,1,size=n))

np.random.seed(5)
for _ in range(n):
    print(np.random.uniform(0,1))
0
Seon 7 जून 2021, 18:08