11 votos

Cómo 'inteligente' bin una colección de datos ordenados?

Estoy tratando de forma inteligente bin una colección ordenada. Tengo una colección de $n$ piezas de datos. Pero sé que este tipo de datos se ajusta a $m$ desigualmente tamaño de los contenedores. No sé cómo elegir de forma inteligente los extremos para encajar correctamente los datos. por ejemplo:

Decir que tengo 12 artículos en mi colección, y sé que los datos caben en 3 compartimientos:

Index:  1 2 3 4 5 6 7 8 9 10 11 12
Value:  1 1 1 3 3 3 3 3 3 5  5  6

¿Cómo puedo elegir de forma inteligente a mi los breakpoints para las tolvas de $i = \{1-3\}, \{4-9\}, \{10-12\}$?

La implementación actual tengo divide los datos en tamaño uniforme de las papeleras y, a continuación, toma el promedio de los extremos para encontrar los índices para el final de la basura. Así es como funciona:

Index:  1 2 3 4 5 6 7 8 9 10 11 12
Value:  1 1 1 3 3 3 3 3 3 5  5  6

first break evenly: i = 1-4, 5-8, 9-12
mean endpoints:  between 4 and 5: (3+3)/2 = 3
                 between 8 and 9: (3+3)/2 = 3

Así que ahora cualquier cosa por debajo de 3 encaja en la bandeja 1, cualquier cosa por encima de 3, pero por debajo de 3 encaja en la bandeja 2, y cualquier cosa por encima de 3 quepa en el recipiente 3. Usted puede ver lo que mi problema es. Si los datos se desigual de las papeleras de mi método falla.

Un amigo mencionó el k-vecino más cercano algoritmo, pero no estoy seguro.

10voto

Mike Puntos 1018

Creo que lo que quieres hacer se llama la agrupación. Desea agrupar su "Valor"s tales que los valores similares se recogen en el mismo contenedor y el número total de contenedores está preestablecido.

Usted puede resolver este problema mediante el agrupamiento k-means el algoritmo. En MATLAB, se puede hacer esto:

bin_ids = kmeans(Values,3); 

Por encima de llamada de grupo los valores en Values en tres grupos que dentro del grupo de varianza es mínima.

8voto

Amadiere Puntos 5606

k-means es una opción, pero no es muy sensible a 1 dimensiones de los datos. En uno-dimensional de datos, tiene una enorme ventaja: los datos pueden ser completamente ordenada.

Eche un vistazo a los cambios de optimización en su lugar:
http://en.wikipedia.org/wiki/Jenks_natural_breaks_optimization

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X