¿Cuál es el significado de random_state en train_test_split? [duplicar]

Nov 28 2020

¿Cuál es el significado de random_state = 0 en esta línea en particular?

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

Respuestas

1 ombk Nov 28 2020 at 02:18

El estado aleatorio es un parámetro para corregir la forma en que se muestrean los datos. Por lo tanto, si desea reproducir el mismo modelo, elija cualquier valor random_statey la próxima vez que ejecute su código obtendrá la misma división de datos.

Ejemplo tienes una list1=[1,2,3,4], digamos que se pueden agregar a una random_statede permutación, para random_state=0será la lista1 [2,3,4,1], para la random_state=2que podría ser [3,1,4,2], etc ... lo mismo para X_train X_testetc ...

Cada número aleatorio que ingrese dará una división diferente.

seralouk Nov 28 2020 at 03:42

random_statesimplemente establece una semilla para el generador aleatorio, de modo que sus divisiones de prueba de tren sean siempre deterministas. Si no establece una semilla, es diferente cada vez.

documentación :

random_state: int, RandomStateinstancia o None, opcional (predeterminado = None)
Si int, random_statees la semilla utilizada por el generador de números aleatorios; Si es el RandomStatecaso, random_statees el generador de números aleatorios; Si None, el generador de números aleatorios es la RandomStateinstancia utilizada por np.random.