Quelle est la signification de random_state dans train_test_split? [dupliquer]

Nov 28 2020

Quelle est la signification de random_state = 0 dans cette ligne particulière ??

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

Réponses

1 ombk Nov 28 2020 at 02:18

L'état aléatoire est un paramètre permettant de déterminer la façon dont les données sont échantillonnées. Par conséquent, si vous souhaitez reproduire le même modèle, vous choisissez une valeur pour random_stateet la prochaine fois que vous exécutez votre code, vous obtiendrez le même fractionnement de données.

Exemple vous avez un list1=[1,2,3,4], disons que vous pouvez y ajouter un random_statepour la permutation, car random_state=0la liste1 sera [2,3,4,1], car random_state=2cela pourrait être [3,1,4,2]etc ... même chose pour X_train X_testetc ...

Chaque nombre aléatoire que vous saisissez donnera une répartition différente.

seralouk Nov 28 2020 at 03:42

random_statedéfinit simplement une graine pour le générateur aléatoire, de sorte que vos fractionnements de train-test soient toujours déterministes. Si vous ne posez pas de graine, c'est différent à chaque fois.

documentation :

random_state: int, RandomStateinstance ou None, facultatif (par défaut = None)
Si int, random_stateest la graine utilisée par le générateur de nombres aléatoires; Si RandomStateinstance, random_stateest le générateur de nombres aléatoires; Si None, le générateur de nombres aléatoires est l' RandomStateinstance utilisée par np.random.