Olá Rafael,
Dentro do método train_test_split existe um parâmetro chamado random_state, que serve para fixar o critério de aleatoriedade do algoritmo.
Veja o exemplo:
train_test_split( X, y, test_size=0.33, random_state=42)
Respondendo sua pergunta: Se você não fixar o parâmetro de random_state, é normal que a cada execução, novos conjuntos amostrais sejam definidos e você obtenham resultados parecidos, mas não idênticos.
Minha opinião: Em um empresa ou estudo científico, onde os resultados precisam ser replicáveis para facilitar o processo de auditoria, é interessante setar o random_state, para que o resultado gerado nas validações do trabalho sejam iguais ao apresentado no desenvolvimento.
Abs