Solved: numpy random na mga entry ay hindi umuulit

Sa mundo ngayon ng pagmamanipula at pagsusuri ng data, ang isang karaniwang problemang lumalabas ay ang pagbuo ng hindi umuulit na mga random na entry gamit ang malawak na sikat na Python library na NumPy. Nilalayon ng artikulong ito na magbigay ng komprehensibong solusyon sa problemang ito, pag-aralan nang malalim ang mga panloob na gawain ng code at tuklasin ang mga nauugnay na library at function.

Ang NumPy ay isang makapangyarihang aklatan na nagbibigay-daan sa amin na magsagawa ng iba't ibang matematikal at istatistikal na operasyon sa malalaking multi-dimensional na array at matrice. Ang isa sa mahahalagang aspeto ng pagsusuri ng data at machine learning ay ang pagbuo ng mga random na numero, na maaaring makamit gamit ang random na module ng NumPy. Sa ilang partikular na sitwasyon, maaaring kailanganin namin ang mga random na entry na ito upang maging natatangi at hindi umuulit. Tuklasin natin kung paano makamit ito gamit ang NumPy hakbang-hakbang.

Una, i-import natin ang kinakailangang library at talakayin ang solusyon upang makabuo ng mga hindi umuulit na random na entry gamit ang NumPy.

import numpy as np

Pagbuo ng Mga Natatanging Random na Numero

Ang solusyon upang makabuo ng hindi umuulit na random na mga entry ay nakasalalay sa pag-unawa sa numpy.random module at mahusay na paggamit ng mga pamamaraan nito. Sa partikular, ang numpy.random.choice() napatunayang lubhang kapaki-pakinabang ang function sa sitwasyong ito, dahil maaari itong makabuo ng mga random na sample mula sa isang naibigay na 1-D array na may opsyon upang maiwasan ang mga pag-uulit.

Hatiin natin ang code at unawain kung paano bumuo ng mga natatanging random na numero.

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)
  • Ang unique_random_numbers() Ang function ay tumatagal ng tatlong parameter: ang gustong laki ng array, ang lower limit, at ang upper limit para sa mga random na numero. Sa halimbawang ito, nilalayon naming bumuo ng 10 natatanging random na numero sa pagitan ng 1 at 100.
  • Sa loob ng function, ginagamit namin ang numpy.random.choice() paraan upang random na pumili ng mga elemento mula sa isang hanay na nilikha ng numpy.arange() function. Tinitiyak ng replace=False argument ang hindi paulit-ulit na mga entry sa loob ng array.
  • Pagkatapos tukuyin ang function, tinatawag namin ito gamit ang mga tinukoy na halaga at i-print ang resultang hanay ng mga hindi umuulit na random na numero.

Pag-unawa sa numpy.random at numpy.arange

Ang numpy.random Ang module ay isang makapangyarihang tool para sa pagbuo ng mga random na numero at sample. Kasama sa ilang karaniwang ginagamit na function sa loob ng modyul na ito numpy.random.rand(), numpy.random.randn(), at numpy.random.randint(). Gayunpaman, tulad ng naunang nabanggit, ang function na kailangan namin para sa problemang ito ay numpy.random.choice().

numpy.arange() ay isang function sa loob mismo ng NumPy library at ginagamit upang ibalik ang isang pantay na pagitan ng pagkakasunud-sunod ng mga halaga sa loob ng tinukoy na hanay. Tumatanggap ito ng tatlong parameter: ang halaga ng pagsisimula, ang halaga ng paghinto, at ang laki ng hakbang. Bilang default, ang laki ng hakbang ay 1.

Application ng Pagbuo ng Natatanging Random na Mga Entry

Ang pagbuo ng mga natatanging random na entry ay may mga praktikal na gamit nito sa maramihang real-world na mga sitwasyon, gaya ng:

  • Sina-shuffle ang data: Kadalasang ginagamit sa machine learning, ang pag-shuffling ng data ay nakakatulong sa pag-randomize ng pagkakasunud-sunod ng mga punto ng data, pagliit ng mga bias at pagpapahusay sa performance ng modelo.
  • Sampling nang walang kapalit: Sa mga istatistika, maaaring gamitin ang hindi paulit-ulit na random sampling upang matiyak na ang isang kinatawan na sample ay kinuha mula sa isang mas malaking populasyon.
  • Paglikha ng mga random na takdang-aralin: Ang pamamahagi ng mga gawain o mapagkukunan sa isang grupo nang walang pag-uulit ay maaaring makamit sa pamamagitan ng paggamit ng mga natatanging random na numero.

Sa konklusyon, ang pagbuo ng hindi umuulit na random na mga entry gamit ang NumPy ay simple at mahusay gamit ang numpy.random.choice() na pamamaraan. Ang pag-unawa sa mga function na numpy.random at numpy.arange, at ang kanilang application ay nagbibigay-kapangyarihan sa amin sa pagharap sa isang hanay ng mga praktikal na kaso ng paggamit sa pagsusuri ng data, machine learning, at higit pa.

Kaugnay na mga post:

Mag-iwan ng komento