Jakie jest znaczenie random_state w train_test_split? [duplikować]

Nov 28 2020

Jakie jest znaczenie random_state = 0 w tym konkretnym wierszu?

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

Odpowiedzi

1 ombk Nov 28 2020 at 02:18

Stan losowy to parametr określający sposób próbkowania danych. Dlatego jeśli chcesz odtworzyć ten sam model, wybierz dowolną wartość random_statei następnym razem, gdy uruchomisz kod, otrzymasz ten sam podział danych.

Przykład, że masz list1=[1,2,3,4], powiedzmy, że możesz dodać do niego a random_statedla permutacji, ponieważ random_state=0lista1 będzie [2,3,4,1], random_state=2ponieważ może to być [3,1,4,2]itp ... to samo dla X_train X_testitp ...

Każda wprowadzona liczba losowa da inny podział.

seralouk Nov 28 2020 at 03:42

random_statepo prostu ustawia ziarno w generatorze losowym, aby podziały testu pociągu były zawsze deterministyczne. Jeśli nie ustawisz nasionka, za każdym razem jest ono inne.

dokumentacja :

random_state: int, RandomStatewystąpienie lub Noneopcjonalne (domyślnie = None)
Jeśli int, random_statejest ziarnem używanym przez generator liczb losowych; Jeśli RandomStateinstancja, random_stateto generator liczb losowych; Jeśli Nonegenerator liczb losowych jest RandomStateinstancją używaną przez np.random.