Saya mencoba membuat matriks angka acak, tetapi solusi saya terlalu panjang dan terlihat jelek
random_matrix = [[random.random() for e in range(2)] for e in range(3)]
ini terlihat oke, tetapi dalam implementasi saya itu
weights_h = [[random.random() for e in range(len(inputs[0]))] for e in range(hiden_neurons)]
yang sangat tidak terbaca dan tidak muat dalam satu baris.
python
random
coding-style
pengguna2173836
sumber
sumber
numpy.random.random_integers(low, high, shape)
, misalnyanumpy.random.random_integers(0, 100, (3, 3))
numpy.random.random
seperti banyaknumpy.random
metode lainnya menerima bentuk, yaitu N-tupel. Jadi benar-benar tanda kurung luar mewakili pemanggilan metodenumpy.random.random()
, dan tanda kurung di dalam adalah gula sintaksis untuk membuat contoh tupel(3, 3)
yang diteruskan ke dalam fungsi.numpy.random.random_integers()
sudah ditinggalkan. Gunakannumpy.random.randint()
sebagai gantinya. docs.scipy.org/doc/numpy/reference/generated/…gunakan
np.random.randint()
seperti yangnumpy.random.random_integers()
sudah tidak digunakan lagisumber
Sepertinya Anda melakukan implementasi Python dari latihan Jaringan Neural Pembelajaran Mesin Coursera. Inilah yang saya lakukan untuk randInitializeWeights (L_in, L_out)
sumber
Pertama buat
numpy
array lalu ubah menjadimatrix
. Lihat kode di bawah ini:sumber
Untuk bilangan acak dari 10. Untuk dari 20 kita harus mengalikan dengan 20.
sumber
Ketika Anda mengatakan "matriks bilangan acak", Anda dapat menggunakan numpy sebagai Pavel https://stackoverflow.com/a/15451997/6169225 yang disebutkan di atas, dalam hal ini saya berasumsi kepada Anda bahwa tidak relevan apa distribusinya (pseudo ) nomor acak.
Namun, jika Anda memerlukan distribusi tertentu (saya membayangkan Anda tertarik pada distribusi seragam),
numpy.random
metode yang sangat berguna untuk Anda. Misalnya, Anda menginginkan matriks 3x2 dengan distribusi seragam acak semu yang dibatasi oleh [rendah, tinggi]. Anda dapat melakukan ini seperti ini:Catatan, Anda bisa mengganti
uniform
dengan sejumlah distribusi yang didukung oleh pustaka ini.Bacaan lebih lanjut: https://docs.scipy.org/doc/numpy/reference/routines.random.html
sumber
Cara sederhana untuk membuat array bilangan bulat acak adalah:
Berikut adalah keluaran matriks bilangan bulat acak 2 kali 3 dari 0 hingga 10:
sumber
Untuk membuat larik bilangan acak, NumPy menyediakan pembuatan larik menggunakan:
Bilangan real
Bilangan bulat
Untuk membuat array menggunakan bilangan real acak : ada 2 pilihan
random.rand
random.randn
Untuk membuat array menggunakan bilangan bulat acak :
dimana
misalnya:
Contoh yang diberikan akan menghasilkan array bilangan bulat acak antara 0 dan 4, ukurannya akan menjadi 5 * 5 dan memiliki 25 bilangan bulat
untuk membuat matriks 5 x 5, harus dimodifikasi menjadi
arr2 = np.random.randint (0,5, size = (5,5)), ubah simbol perkalian * menjadi koma, #
eg2:
Contoh yang diberikan akan menghasilkan array bilangan bulat acak antara 0 dan 1, ukurannya akan menjadi 1 * 10 dan akan memiliki 10 bilangan bulat
sumber
sumber
Jawaban menggunakan pengurangan peta: -
sumber
sumber
numpy.random.rand (baris, kolom) menghasilkan angka acak antara 0 dan 1, sesuai dengan parameter yang ditentukan (m, n) yang diberikan. Jadi gunakan untuk membuat matriks (m, n) dan kalikan matriks untuk batas jangkauan dan jumlahkan dengan batas tertinggi.
Menganalisis: Jika nol dihasilkan, hanya batas bawah yang akan ditahan, tetapi jika dibuat, hanya batas tinggi yang akan dipertahankan. Dengan kata lain, menghasilkan batas menggunakan rand numpy Anda dapat menghasilkan angka ekstrim yang diinginkan.
Keluaran:
sumber