Apa pentingnya random_state di train_test_split? [duplikat]

Nov 28 2020

Apa pentingnya random_state = 0 di baris ini ??

X_train, X_test, y_train, y_test = train_test_split(X,  y, test_size = 0.25, random_state = 0)

Jawaban

1 ombk Nov 28 2020 at 02:18

Keadaan acak adalah parameter untuk memperbaiki cara data diambil sampelnya. Oleh karena itu, jika Anda ingin mereproduksi model yang sama dengan yang Anda pilih nilainya random_statedan saat Anda menjalankan kode, Anda akan mendapatkan pembagian data yang sama.

Contoh Anda memiliki a list1=[1,2,3,4], katakanlah Anda dapat menambahkannya random_stateuntuk permutasi, untuk random_state=0list1 akan [2,3,4,1], untuk random_state=2itu bisa jadi [3,1,4,2]dll ... hal yang sama untuk X_train X_testdll ...

Setiap nomor acak yang Anda masukkan akan memberikan pembagian yang berbeda.

seralouk Nov 28 2020 at 03:42

random_statecukup setel seed ke generator acak, sehingga pemisahan train-test Anda selalu deterministik. Jika Anda tidak menetapkan benih, itu berbeda setiap saat.

dokumentasi :

random_state: int, RandomStateinstance atau None, opsional (default = None)
Jika int, random_stateadalah seed yang digunakan oleh generator nomor acak; Jika RandomStatemisalnya, random_stateadalah generator nomor acak; Jika None, generator nomor acak adalah RandomStateinstance yang digunakan oleh np.random.