Bagaimana untuk melaksanakan pemilihan rawak berwajaran dalam Python?

PHPz
Lepaskan: 2023-09-11 21:45:02
ke hadapan
640 orang telah melayarinya

Bagaimana untuk melaksanakan pemilihan rawak berwajaran dalam Python?

Python ialah bahasa pengaturcaraan yang fleksibel dan cekap yang menyediakan pelbagai ciri dan perpustakaan peringkat rendah untuk menambah baik tugas pengekodan yang kompleks. Salah satu tugas adalah untuk melaksanakan wajaran membuat keputusan tidak teratur, strategi yang boleh diukur di mana segala-galanya mempunyai kebarangkalian yang telah ditetapkan untuk dipilih. Tidak seperti pemilihan rawak mudah, di mana setiap item mempunyai peluang yang sama untuk dipilih, pemilihan rawak berwajaran membolehkan kami menentukan kebarangkalian setiap item dipilih, yang mungkin berbeza-beza. Artikel ini bertujuan untuk memberikan pemahaman yang komprehensif tentang cara mendapatkan pemilihan rawak berwajaran dalam Python.

Tatabahasa

Kaedah utama dalam Python yang memudahkan pilihan rawak berwajaran ialah random.choices(). Ini ialah sintaks asasnya:

random.choices(population, weights=None, cum_weights=None, k=1)
Salin selepas log masuk
  • Penduduk adalah komponen yang diperlukan. Anda akan memilih daripada senarai ini.

  • Tiada obligasi untuk menyediakan berat badan. Senarai berat yang sepadan dengan setiap ahli individu senarai keseluruhan.

  • cum_weights ialah bidang pilihan sepenuhnya. Senarai berat terkumpul.

  • Huruf k tidak diperlukan. Nombor integer yang menyatakan bilangan item untuk dipilih. Nilai lalai ialah 1.

Algoritma

Untuk lebih memahami operasi pemilihan rawak berwajaran, sila ikuti algoritma langkah demi langkah di bawah:

  • Import modul rawak dalam Python.

  • Tentukan populasi, iaitu senarai elemen yang ingin anda pilih.

  • Tentukan pemberat, iaitu senarai kebarangkalian yang sepadan dengan setiap elemen dalam populasi. Pastikan pemberat konsisten dengan elemen keseluruhan.

  • Gunakan kaedah random.choices() untuk menentukan populasi, berat dan bilangan elemen untuk dipilih.

  • Laksanakan kod dan analisa hasilnya.

Kaedah 1: Gunakan random.choices()

Gunakan kaedah random.choices() dengan parameter berat: Kaedah ini menggunakan fungsi terbina dalam Python untuk memberikan berat setiap elemen secara eksplisit.

Contoh

import random

population = ['Red', 'Blue', 'Green']
weights = [0.6, 0.3, 0.1]

chosen = random.choices(population, weights, k=5)
print(chosen)
Salin selepas log masuk

Output

['Red', 'Green', 'Blue', 'Blue', 'Blue']
Salin selepas log masuk

Arahan

Skrip Python ini menggunakan modul ketidakteraturan tersirat, khususnya fungsi random.choices(), untuk menjana penentuan tidak teratur berwajaran berdasarkan senarai perwakilan terkini. Anda boleh memilih pilihan berikut daripada senarai bertajuk "populasi": "merah", "biru", dan "hijau". Senarai "berat" mewakili peluang untuk memilih setiap komponen dalam perkadaran berikut: 60%, 30% dan 10%, masing-masing. Skrip secara rawak memilih lima item daripada pembolehubah "populasi", dengan mengambil kira "berat" yang ditentukan. Ini dicapai dengan memanggil fungsi random.choices dengan parameter yang sesuai. Nilai parameter "k" menunjukkan bilangan perkara untuk dilihat dalam kolam. Selepas itu, elemen yang dipilih akan dicetak.

Kaedah 2: Gunakan numpy.random.choice()

Gunakan numpy.random.choice(): Kaedah ini berfungsi dengan perpustakaan numpy, yang merupakan alat operasi berangka yang berkuasa yang turut menyokong pemilihan rawak berwajaran.

Contoh

import numpy as np

population = ['Red', 'Blue', 'Green']
weights = [0.6, 0.3, 0.1]

chosen = np.random.choice(population, 5, p=weights)
print(chosen)
Salin selepas log masuk

Output

['Red' 'Red' 'Red' 'Red' 'Blue']
Salin selepas log masuk

Arahan

Untuk melakukan pemilihan rawak berwajaran, skrip menggunakan perpustakaan numpy dan memanggil fungsi numpy.random.choice(). Senarai "populasi" dan "berat" ditakrifkan dengan cara yang sama seperti kod pertama. Sebaliknya, dengan kaedah ini, parameter kebarangkalian diwakili oleh huruf p dan bukannya perkataan "berat". Skrip secara rawak memilih lima item daripada pembolehubah "populasi" dengan memanggil fungsi np.random.choice dengan parameter populasi, 5, dan p=weights. Pemilihan adalah berdasarkan kebarangkalian tertentu. Daripada menjana senarai seperti kod pertama, kod ini menjana tatasusunan numpy yang mengandungi semua elemen yang dipilih.

Kesimpulan

Dalam artikel ini, kami meneroka dua cara penting untuk melaksanakan pemilihan rawak berwajaran dalam Python menggunakan fungsi terbina dalam dan perpustakaan luaran. Menggunakan kaedah random.choices() dan numpy.random.choice() anda boleh memanipulasi kebarangkalian setiap elemen dalam senarai dengan berkesan, memberikan anda lebih kawalan ke atas pilihan rawak.

Memahami dan melaksanakan pemilihan rawak berwajaran dengan betul adalah penting untuk pelbagai senario, daripada permainan mudah kepada tugasan sains data yang kompleks, kerana ia mencerminkan taburan kebarangkalian tidak sekata yang realistik dalam kehidupan. Dengan menguasai teknik ini, anda menambah alat penting pada kit alat pengaturcaraan Python anda.

Ingat bahawa fungsi random.choices() dan numpy.random.choice() tidak terhad kepada pilihan rawak berwajaran - ia menawarkan lebih banyak lagi. Jangan ragu untuk menyelidiki perpustakaan ini untuk membuka kunci potensi penuh Python. Ingat, latihan adalah kunci untuk menguasai sebarang konsep, jadi teruskan pengekodan dan teruskan meneroka!

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan pemilihan rawak berwajaran dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!