Qual è il significato di random_state in train_test_split? [duplicare]

Nov 28 2020

Qual è il significato di random_state = 0 in questa particolare riga ??

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

Risposte

1 ombk Nov 28 2020 at 02:18

Lo stato casuale è un parametro per fissare il modo in cui i dati vengono campionati. Pertanto, se si desidera riprodurre lo stesso modello per il quale si sceglie un valore random_statee la prossima volta che si esegue il codice, si otterrà la stessa suddivisione dei dati.

Esempio hai un list1=[1,2,3,4], diciamo che puoi aggiungere ad esso una random_statepermutazione, perché random_state=0la lista1 sarà [2,3,4,1], random_state=2perché potrebbe essere [3,1,4,2]ecc ... la stessa cosa per X_train X_testecc ...

Ogni numero casuale inserito darà una divisione diversa.

seralouk Nov 28 2020 at 03:42

random_stateimposta semplicemente un seme al generatore casuale, in modo che le suddivisioni del test del treno siano sempre deterministiche. Se non imposti un seme, è diverso ogni volta.

documentazione :

random_state: int, RandomStateistanza o None, opzionale (default = None)
If int, random_stateè il seme utilizzato dal generatore di numeri casuali; If RandomStateinstance, random_stateè il generatore di numeri casuali; If None, il generatore di numeri casuali è l' RandomStateistanza utilizzata da np.random.