Apa pentingnya random_state di train_test_split? [duplikat]
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
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.
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 atauNone, opsional (default =None)
Jikaint,random_stateadalah seed yang digunakan oleh generator nomor acak; JikaRandomStatemisalnya,random_stateadalah generator nomor acak; JikaNone, generator nomor acak adalahRandomStateinstance yang digunakan olehnp.random.