Gostaria de saber porque, dependendo se eu uso o método fit ou fit_predict, o código dá erro nos exemplos abaixo. Seguem o primeiro código:
modelo = KMeans(n_clusters=3)
grupos = modelo.fit(dados)
plt.scatter(x=dados.coluna1, y=dados.coluna2,
c=grupos,
cmap='viridis')
Se eu usar modelo.fit(generos_escalados) em vez de modelo.fit_predict(generos_escalados), a seguinte exceção é levantada:
TypeError Traceback (most recent call last)
<ipython-input-67-e563491c5f68> in <module>()
3 plt.scatter(x=dados.coluna1, y=dados.coluna2,
4 c=grupos,
----> 5 cmap='viridis')
6 centroides = modelo.cluster_centers_
7 plt.scatter(dados.coluna1, dados.coluna2,
5 frames
/usr/local/lib/python3.6/dist-packages/numpy/core/_asarray.py in asanyarray(a, dtype, order)
136
137 """
--> 138 return array(a, dtype, copy=False, order=order, subok=True)
139
140
TypeError: float() argument must be a string or a number, not 'KMeans'
Por que isso ocorre? Imagino que seja algo relacionado a retorno de tipos com esta função, mas não sei ao certo o que está ocorrendo. Alguém poderia me explicar?