Permütasyon örnekleri oluşturma
Son egzersizde gördüğün gibi, semi_times ve final_times dizilerindeki karşılık gelen girdileri rastgele yer değiştirerek bir permütasyon örneği üretmemiz gerekiyor. Rastgele indekslerde a ve b'deki girdilerin yerlerini değiştirilmiş olarak döndüren swap_random(a, b) imzasına sahip bir fonksiyon yaz.
Bu egzersiz
İstatistiksel Düşünmede Vaka Çalışmaları
kursunun bir parçasıdırEgzersiz talimatları
- Aşağıdakileri yapan
swap_random(a, b)imzasına sahip bir fonksiyon tanımla.- Girdi dizileriyle aynı uzunlukta, her girdisi %50 olasılıkla
Trueolan birswap_indsdizisi oluştur. İpucu:size=len(a)anahtar argümanı ilenp.random.random()kullan. Sonuçtaki her bir değer 0.5'ten küçükseTrueolmalı. np.copy()kullanarak sırasıylaa_outveb_outadlıavebkopyalarını oluştur.- Uygun girdileri
b'dena_out'a vea'danb_out'a taşımak içinswap_indsdizisiyle Boole indeksleme kullan. a_outveb_out'u döndür.
- Girdi dizileriyle aynı uzunlukta, her girdisi %50 olasılıkla
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
def ____(____, ____):
"""Randomly swap entries in two arrays."""
# Indices to swap
swap_inds = ____ < ____
# Make copies of arrays a and b for output
a_out = ____
b_out = ____
# Swap values
____[____] = ____[____]
____[____] = ____[____]
return a_out, b_out