1
resposta

[Dúvida] - set.seed()

eu entendi que o set.seed é para forçar o computador a escolher os clusters de forma aleatório com os mesmos números. Mas existe alguma análise a ser feita para que eu defina o valor passado como parâmetro dentro do set.seed, e que isso faça com que melhore o algoritmo do KMEANS? Entendo que, se eu não setar um valor no set.seed a cada nova execução do KMEANS, eu terei novos valores de centroides, mas setando um valor, eu consigo "melhorar a acurácia" do KMEANS?

1 resposta

Olá Fernando, tudo bem? Espero que sim!

A função do seed é fazer com que o código seja reprodutível em outro momento e para conseguir avaliar e comparar o modelo com as mesmas circunstâncias aleatórias. Portanto ao modificar um parâmetro do algoritmo e manter o mesmo seed, você conseguirá comparar os resultados de forma justa. Caso não defina o seed e modifique os parâmetros do algoritmo, as comparações entre os modelos não será feito de forma justa, porque estarão sobre efeitos aleatórios distintos.

O seed não tem a função de melhorar o modelo através da escolha de um número específico e não deve ser usado para isso. Apenas para fins de reprodutibilidade do código e comparação entre modelos.

Espero que tenha tirado sua dúvida.

Bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software