No creo que el siguiente problema pueda resolverse con la agrupación de k-means. Sin embargo, no estoy seguro. Bien, déjame describir el problema. Necesito encontrar una forma o un algoritmo que agrupe a los miembros de un conjunto de datos dado (de enteros positivos) de manera que la diferencia entre las medias de los grupos sea minimizado (no maximizado, como siempre). Hay dos restricciones:
-
El número de grupos no debe superar log(N) base 2. N es el tamaño del array de entrada. Supongamos que N = 16, siempre.
-
El tamaño del grupo debe ser al menos log(N) de base 2. Aquí es 4.
Vea el ejemplo siguiente. Se agradece la orientación para la solución de este problema.
for input array = (12, 14, 16, 16, 18, 19, 20, 21, 24, 26, 27, 29, 29, 30, 31, 32)
Una de las soluciones podría ser la siguiente:
set group mean
1 (12, 14, 31, 32) 22.25
2 (16, 16, 29, 30) 22.75
3 (18, 19, 27, 29) 23.25
4 (20, 21, 24, 26) 22.75