1
resposta

ValueError: arrays must all be same length

import seaborn as sns

sns.set(rc={'figure.figsize': (13, 13)})
sns.scatterplot(x=visualizacao[:, 0],
               y=visualizacao[:, 1],
               hue=modelo.labels_,
               palette=sns.color_palette('Set1', 3))

Ao rodar o código acima, retorna a seguinte mensagem de erro:

ValueError Traceback (most recent call last) in () 8 y=visualizacao[:, 1], 9 hue=modelo.labels_, ---> 10 palette=sns.color_palette('Set1', 3)) 11

6 frames /usr/local/lib/python3.6/dist-packages/pandas/core/internals/construction.py in extract_index(data) 363 lengths = list(set(raw_lengths)) 364 if len(lengths) > 1: --> 365 raise ValueError("arrays must all be same length") 366 367 if have_dicts:

ValueError: arrays must all be same length

1 resposta

Olá Dirlene.

Esse erro está dizendo que a quantidade linhas entre a visualizacao e o modelo.labels_ está diferente.

Pode verficar os valores utilizando a função len():

tsne = TSNE()

visualizacao = tsne.fit_transform(generos_escalados)
len(visualizacao)

Eu obtive o valor:

9742

Acho valido visitar o momento que atribui valores a essa variáveis e ver se está de acordo com o do instrutor.


modelo = KMeans(n_clusters=3)

modelo.fit(generos_escalados)

print(f'Grupos {modelo.labels_}, {len(modelo.labels_)}')

Resutado:

Grupos [0 0 1 ... 1 0 1], 9742

Acho valido também, reiniciar o ambiente para garantir que nenhum código executado afetou o valor dessa variáveis.

Bons Estudos.