python - sklearn - Scikit-learn, KMeans: cómo usar max_iter
plot k means python (2)
Me gustaría entender el parámetro max_iter de la clase sklearn.cluster.KMeans .
De acuerdo con la documentación:
max_iter : int, default: 300
Maximum number of iterations of the k-means algorithm for a single run.
Pero en mi opinión, si tengo 100 Objetos, el código debe ejecutarse 100 veces, si tengo 10.000 Objetos, el código debe ejecutarse 10.000 veces para casificar cada objeto. Y, por otro lado, no tiene sentido correr varias veces sobre todos los objetos.
¿Cuál es mi concepto erróneo y cómo debo interpretar este parámetro?
Eche un vistazo aquí:
https://www.naftaliharris.com/blog/visualizing-k-means-clustering/
Cada vez que hace clic en Actualizar centroides, se realiza una nueva iteración. Tiene sentido, porque cuando se desplazan los centroides, las distancias a esos centroides también cambian y algunos puntos pueden cambiar de grupo.
Sí, está malinterpretando el parámetro.
Una iteración es una pasada sobre todo el conjunto de datos . Si tiene 100 objetos, una iteración asigna 100 puntos. si tiene 10000 objetos, una iteración procesa 10000 objetos.
Hay algoritmos más inteligentes; pero sklearn k-means procesa cada objeto en cada iteración.