ડેટા મેનીપ્યુલેશન અને વિશ્લેષણની આજની દુનિયામાં, એક સામાન્ય સમસ્યા ઊભી થાય છે જે વ્યાપકપણે લોકપ્રિય પાયથોન લાઇબ્રેરી NumPy નો ઉપયોગ કરીને બિન-પુનરાવર્તિત રેન્ડમ એન્ટ્રીઓ પેદા કરે છે. આ લેખનો ઉદ્દેશ આ સમસ્યાનો વ્યાપક ઉકેલ પૂરો પાડવાનો છે, કોડની આંતરિક કામગીરીમાં ઊંડા ઉતરવું અને સંબંધિત પુસ્તકાલયો અને કાર્યોનું અન્વેષણ કરવું.
NumPy એ એક શક્તિશાળી પુસ્તકાલય છે જે આપણને વિશાળ બહુ-પરિમાણીય એરે અને મેટ્રિસિસ પર વિવિધ ગાણિતિક અને આંકડાકીય કામગીરી કરવા સક્ષમ બનાવે છે. ડેટા વિશ્લેષણ અને મશીન લર્નિંગના મહત્વના પાસાઓ પૈકી એક રેન્ડમ નંબર્સ જનરેટ કરવાનું છે, જે NumPy ના રેન્ડમ મોડ્યુલનો ઉપયોગ કરીને પ્રાપ્ત કરી શકાય છે. અમુક કિસ્સાઓમાં, અમારે આ રેન્ડમ એન્ટ્રીઝ અનન્ય અને પુનરાવર્તિત ન હોય તે માટે જરૂર પડી શકે છે. ચાલો જોઈએ કે NumPy સ્ટેપ બાય સ્ટેપનો ઉપયોગ કરીને આ કેવી રીતે હાંસલ કરવું.
પ્રથમ, ચાલો જરૂરી લાઇબ્રેરી આયાત કરીએ અને NumPy નો ઉપયોગ કરીને નોન-રિપીટ રેન્ડમ એન્ટ્રીઓ જનરેટ કરવાના ઉકેલની ચર્ચા કરીએ.
import numpy as np
અનન્ય રેન્ડમ નંબરો જનરેટ કરી રહ્યા છીએ
બિન-પુનરાવર્તિત રેન્ડમ એન્ટ્રીઓ બનાવવાનો ઉકેલ એ સમજવામાં રહેલો છે numpy.random મોડ્યુલ અને તેની પદ્ધતિઓનો અસરકારક રીતે ઉપયોગ. ખાસ કરીને, ધ numpy.random.choice() ફંક્શન આ દૃશ્યમાં અત્યંત ઉપયોગી સાબિત થાય છે, કારણ કે તે આપેલ 1-D એરેમાંથી પુનરાવર્તન અટકાવવાના વિકલ્પ સાથે રેન્ડમ નમૂનાઓ બનાવી શકે છે.
ચાલો કોડને તોડીએ અને સમજીએ કે અનન્ય રેન્ડમ નંબરો કેવી રીતે જનરેટ કરવા.
def unique_random_numbers(size, lower_limit, upper_limit): unique_numbers = np.random.choice(np.arange(lower_limit, upper_limit), size, replace=False) return unique_numbers size = 10 lower_limit = 1 upper_limit = 101 unique_numbers = unique_random_numbers(size, lower_limit, upper_limit) print(unique_numbers)
- આ અનન્ય_રેન્ડમ_સંખ્યા() ફંક્શન ત્રણ પરિમાણો લે છે: એરેનું ઇચ્છિત કદ, નીચલી મર્યાદા અને રેન્ડમ નંબરો માટે ઉપલી મર્યાદા. આ ઉદાહરણમાં, અમારું લક્ષ્ય 10 અને 1 ની વચ્ચે 100 અનન્ય રેન્ડમ નંબરો બનાવવાનું છે.
- ફંક્શનની અંદર, આપણે ઉપયોગ કરીએ છીએ numpy.random.choice() દ્વારા બનાવેલ શ્રેણીમાંથી તત્વોને રેન્ડમલી પસંદ કરવાની પદ્ધતિ numpy.arange() કાર્ય રિપ્લેસ=ફોલ્સ દલીલ એરેની અંદર બિન-પુનરાવર્તિત એન્ટ્રીઓની ખાતરી કરે છે.
- ફંક્શનને વ્યાખ્યાયિત કર્યા પછી, અમે તેને ઉલ્લેખિત મૂલ્યો સાથે કૉલ કરીએ છીએ અને બિન-પુનરાવર્તિત રેન્ડમ નંબરોના પરિણામી એરેને છાપીએ છીએ.
numpy.random અને numpy.arange ને સમજવું
આ numpy.random મોડ્યુલ રેન્ડમ નંબર્સ અને સેમ્પલ જનરેટ કરવા માટે એક શક્તિશાળી સાધન છે. આ મોડ્યુલમાં સામાન્ય રીતે ઉપયોગમાં લેવાતા કેટલાક કાર્યોનો સમાવેશ થાય છે numpy.random.rand(), numpy.random.randn(), અને numpy.random.randint(). જો કે, અગાઉ ઉલ્લેખ કર્યો છે તેમ, આ સમસ્યા માટે આપણને જે કાર્યની જરૂર છે તે છે numpy.random.choice().
numpy.arange() NumPy લાઇબ્રેરીમાં જ એક ફંક્શન છે અને તેનો ઉપયોગ ઉલ્લેખિત રેન્જમાં મૂલ્યોના સમાન અંતરે ક્રમ પરત કરવા માટે થાય છે. તે ત્રણ પરિમાણો સ્વીકારે છે: પ્રારંભ મૂલ્ય, સ્ટોપ મૂલ્ય અને પગલું કદ. મૂળભૂત રીતે, પગલાનું કદ 1 છે.
અનન્ય રેન્ડમ એન્ટ્રીઝ જનરેટ કરવાની એપ્લિકેશન
અનન્ય રેન્ડમ એન્ટ્રીઓ જનરેટ કરવાના બહુવિધ વાસ્તવિક-વિશ્વના દૃશ્યોમાં તેના વ્યવહારુ ઉપયોગો છે, જેમ કે:
- ડેટા શફલિંગ: ઘણીવાર મશીન લર્નિંગમાં ઉપયોગમાં લેવાય છે, ડેટાને શફલિંગ કરવાથી ડેટા પોઈન્ટના ક્રમને રેન્ડમાઈઝ કરવામાં, પૂર્વગ્રહોને ઘટાડવામાં અને મોડેલની કામગીરીને વધારવામાં મદદ મળે છે.
- રિપ્લેસમેન્ટ વિના સેમ્પલિંગ: આંકડાઓમાં, બિન-પુનરાવર્તિત રેન્ડમ નમૂનાનો ઉપયોગ એ સુનિશ્ચિત કરવા માટે કરી શકાય છે કે પ્રતિનિધિ નમૂના મોટી વસ્તીમાંથી લેવામાં આવે છે.
- રેન્ડમ સોંપણીઓ બનાવવી: પુનરાવર્તન વિના જૂથ વચ્ચે કાર્યો અથવા સંસાધનોનું વિતરણ અનન્ય રેન્ડમ નંબરોના ઉપયોગ દ્વારા પ્રાપ્ત કરી શકાય છે.
નિષ્કર્ષમાં, numpy.random.choice() પદ્ધતિનો ઉપયોગ કરીને NumPy નો ઉપયોગ કરીને બિન-પુનરાવર્તિત રેન્ડમ એન્ટ્રીઓ જનરેટ કરવી સરળ અને કાર્યક્ષમ છે. numpy.random અને numpy.arange ફંક્શનને સમજવું અને તેનો ઉપયોગ ડેટા વિશ્લેષણ, મશીન લર્નિંગ અને તેનાથી આગળના વ્યવહારિક ઉપયોગના કેસોનો સામનો કરવા માટે અમને સશક્ત બનાવે છે.