python - iris - kmeans
Blaze con Scikit Learn K-Means (4)
Sugeriría que elija la cantidad de clústeres (K) mucho menor que la cantidad de ejemplos de capacitación que tiene en su conjunto de datos. No es correcto ejecutar el algoritmo K-Means cuando el número de clústeres que desea es mayor o igual que el número de ejemplos de entrenamiento. El error ocurre cuando intentas pasar el objeto blaze con una forma indeseable a la función KMeans. Por favor, consulte: https://blaze.readthedocs.io/en/latest/csv.html
Estoy intentando ajustar el objeto de datos Blaze a la función scikit kmeans.
from blaze import *
from sklearn.cluster import KMeans
data_numeric = Data(''data.csv'')
data_cluster = KMeans(n_clusters=5)
data_cluster.fit(data_numeric)
Muestra de datos:
A B C
1 32 34
5 57 92
89 67 21
Su error de lanzamiento:
Pude hacerlo con Pandas Dataframe. ¿Hay alguna manera de alimentar el objeto de resplandor a esta función?
Creo que debes convertir tu marco de datos pandas en una matriz numpy antes de que quepa.
from blaze import *
import numpy
from sklearn.cluster import KMeans
data_numeric = numpy.array(data(''data.csv''))
data_cluster = KMeans(n_clusters=5)
data_cluster.fit(data_numeric)
sklearn.cluster.KMeans
no admite datos de entrada con el tipo blaze.interactive._Data
que es el tipo de data_numeric en tu código.
Puede usar data_cluster.fit(data_numeric.peek())
para ajustar el data_numeric transferido con el tipo DataFrame
soportado por sklearn.cluster.KMeans
.
Sí, antes de que te caigas, debes necesitar convertir tu marco de datos de pandas en una matriz numpy, ahora funciona bien ... creo que @aberger ya respondió.
¡gracias!