Ficou bem diferente o retorno do dado aleatorio. Qual motivo?
import numpy as np
random_data = np.random.rand(8950,16)
s, dbs, calinski = clustering_algorithm(5, random_data)
print(s, dbs, calinski)
print(silhouette2, dbs2, calinski2)
Ficou bem diferente o retorno do dado aleatorio. Qual motivo?
import numpy as np
random_data = np.random.rand(8950,16)
s, dbs, calinski = clustering_algorithm(5, random_data)
print(s, dbs, calinski)
print(silhouette2, dbs2, calinski2)
Olá, Carlos, tudo bem?
Desde já peço desculpas pela demora em obter um retorno.
A principal razão para as diferenças nos resultados é a natureza aleatória dos dados gerados usando np.random.rand
. A função np.random.rand
gera números aleatórios seguindo uma distribuição uniforme no intervalo [0, 1)
. Isso significa que cada vez que você executar o código, obterá uma matriz de dados diferente.
Como os dados são diferentes a cada execução, isso afeta diretamente os resultados do algoritmo de clustering. Cada conjunto de dados aleatórios resultará em diferentes agrupamentos, já que a posição dos pontos de dados é aleatória.
Por isso, comparado ao código da instrutora, o retorno foi diferente.
Espero ter esclarecido.
Caso surja alguma dúvida, fico à disposição.
Abraços e até mais!