2
respostas

Erro ao usar o SEABORN, aplicando cores em labels

Ao executar este código abaixo ocorre um erro:

import seaborn as sns
sns.set( rc={'figure.figsize':(13,13)})
sns.scatterplot(x=visualizacao[:,0],
                y=visualizacao[:,1],
                hue=modelo.labels_)

erro:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-106-965295a8a1e3> in <module>()
      3 sns.scatterplot(x=visualizacao[:,0],
      4                 y=visualizacao[:,1],
----> 5                 hue=modelo.labels_)

9 frames
/usr/local/lib/python3.6/dist-packages/pandas/core/internals/construction.py in extract_index(data)
    395             lengths = list(set(raw_lengths))
    396             if len(lengths) > 1:
--> 397                 raise ValueError("arrays must all be same length")
    398 
    399             if have_dicts:

ValueError: arrays must all be same length
2 respostas

resolvido. tinha executado esse codigo pra imprimir os centroids antes de executar o seaborn e por conseguinte alterando o meu modelo.

from sklearn.datasets import make_blobs
dados, _ = make_blobs(n_samples=1000, n_features=2, random_state=7)
dados = pd.DataFrame(dados, columns=['coluna1', 'coluna2'])
dados.head()
import matplotlib.pyplot as plt

plt.scatter(x=dados.coluna1, y=dados.coluna2)

modelo = KMeans(n_clusters=3)
grupos = modelo.fit_predict(dados)
plt.scatter(x=dados.coluna1, y=dados.coluna2, 
            c=grupos,
           cmap='viridis')

centroides = modelo.cluster_centers_
plt.scatter(dados.coluna1, dados.coluna2,
            c=grupos,
           cmap='viridis')

plt.scatter(centroides[:, 0], centroides[:, 1],
           marker='X', s=169, linewidths=5,
           color='g', zorder=8)

Oii Ramon! Tudo bem?

Fico muito feliz que tenha conseguido resolver :)

Muito obrigada por compartilhar a solução aqui no fórum, assim você ajuda diversos outros alunos que passarem por erros e dificuldades semelhantes.

Qualquer dúvida estou à disposição. Bons estudos!