Qual é o significado de random_state em train_test_split? [duplicado]

Nov 28 2020

Qual é o significado de random_state = 0 nesta linha particular ??

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

Respostas

1 ombk Nov 28 2020 at 02:18

O estado aleatório é um parâmetro para corrigir a forma como os dados estão sendo amostrados. Portanto, se você quiser reproduzir o mesmo modelo, escolheu qualquer valor para random_statee da próxima vez que executar seu código, obterá a mesma divisão de dados.

Por exemplo, você tem um list1=[1,2,3,4], digamos que você possa adicionar a ele um random_statepara permutação, para random_state=0a lista1 será [2,3,4,1], random_state=2pois poderia ser [3,1,4,2]etc ... mesma coisa para X_train X_testetc ...

Cada número aleatório inserido dará uma divisão diferente.

seralouk Nov 28 2020 at 03:42

random_statesimplesmente define uma semente para o gerador aleatório, de modo que as divisões do teste do trem sejam sempre determinísticas. Se você não definir uma semente, será diferente a cada vez.

documentação :

random_state: int, RandomStateinstância ou None, opcional (padrão = None)
Se int, random_stateé a semente usada pelo gerador de números aleatórios; Se RandomStateinstância, random_stateé o gerador de números aleatórios; Se None, o gerador de números aleatórios é a RandomStateinstância usada por np.random.