1 votos

Cómo optimizar el resultado de los medios K

Estoy analizando los datos del abalón. Mi objetivo es clasificar los datos en tres categorías (premium, medium premium y clásico). Como se trata de un conjunto de datos no etiquetados, he utilizado K means clustering para hacerlo. Mi problema es, ¿hay alguna manera de optimizar el resultado? Siento que el único análisis que puedo hacer en el algoritmo de k means en R es km = kmeans(data,centers=3,nstart=25) . ¿Hay algún parámetro que pueda ajustar en este algoritmo? Por favor, dame alguna sugerencia.

2voto

JoeS Puntos 88

Si utiliza ?kmeans en su R console se pueden identificar diferentes parámetros que se pueden optimizar en el algoritmo de k-means. El mejor parámetro son los valores iniciales de los centroides. Si sabe que alguno de los puntos de datos es de una clase específica y están muy separados, puede utilizarlos como centros de partida para que kmeans no converja a una solución subóptima. De lo contrario, puede tomar muestras al azar y utilizar nstart para probar múltiples puntos de partida. Además, podría utilizar diferentes algoritmos definidos dentro de kmeans como Lloyd , Forgy , MacQueen .

0voto

Si no te convencen del todo los resultados de un enfoque de k-means, puedes probar lo siguiente:

  1. Utilice una variante de k-means, como k-medoids . Esto es casi lo mismo, excepto que k-means utiliza la distancia euclidiana ( $L^2$ ), donde k-medoids utiliza la norma $L^1$ norma. Se sabe que la agrupación k-medoides es más robusta frente a los valores atípicos. En realidad, usted puede crear su variante eligiendo simplemente cualquier función de distancia que se adapte a sus datos.

    En R, creo que se puede hacer esto a través de la función flexclust (o su propio código, el algoritmo no es tan complicado).

  2. Realiza la transformación de los datos utilizando el truco del núcleo . A veces el espacio de características no permite una agrupación adecuada. Por ejemplo, si se tienen dos clusters: uno muy pequeño y denso, y otro más bien amplio y disperso; k-means obtendrá clusters del mismo tamaño, que no es lo que se pretende. Otra situación es cuando los puntos no son linealmente separables.

    En estos casos, podría realizar agrupación espectral un enfoque basado en el truco del kernel y la teoría de los grafos (¡es más fácil de lo que parece!). Esto no sólo realiza la transformación de los datos, sino que también proporciona una manera bastante fácil de determinar cuántos clústeres puede tener (que no siempre es trivial).

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