1
resposta

Todas as labels estão 0

Neste primeiro código dessa aula,

from sklearn.cluster import MeanShift

cluster = MeanShift()
cluster.fit(df)

cluster.labels_

o output do professor mostrou 3 clusteres diferentes (0, 1 e 2), mas o meu mostrou todos 0. Qual o motivo disso?

Penso que ou o df está diferente, ou o método MeanShift() mudou desde então e possui valores default diferentes. Como o meu código estava funcionando exatamente de acordo com o mostrado nas aulas até então, creio que a segunda hipótese seja a verdadeira, mas não sei ainda...

Algué, saberia me auxiliar?

Obrigado!

1 resposta

Oi Pedro! Tudo bem contigo?

O professor fala no começo do curso sobre a importância da normalização dos dados, mas não usa os dados normalizados durante o curso foi um erro que ele cometeu e peço desculpas por isso. Em um outro tópico uma instrutora explica quando precisamos normalizar os dados, você pode ver mais sobre ele aqui, mas nesse caso, como o instrutor frisou sobre a importância, deveria ter usado os dados normalizados, mas não os fez o que gera uma diferença absurda com o código normalizado. Para que você consiga obter os mesmos resultados que ele durante o curso, você pode desfazer a normalização mostrada na aula Normalização Sklearn.

Para desfazer essa normalização, você pode utilizar o comando inverse_transform() e definir ele como o dataframe df adicionando o código a seguir abaixo da normalização:

df = pd.DataFrame(min_max_scaler.inverse_transform(np_df),columns = colunas)

Se você utilizar o df.describe() serão mostrado os dados não normalizados. Outra opção é apenas carregar os dados para o notebook novamente, ou você pode também pode apenas pular a parte de normalização feita durante o curso.

Eu espero ter te ajudado! Se a dúvida persistir, estarei à disposição.

Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!