¿Cómo evaluar un modelo de aprendizaje no supervisado con k-medias

Después de que haya elegido su número de grupos de análisis predictivo y ha configurado el algoritmo para rellenar los racimos, usted tiene un modelo predictivo. Puedes hacer predicciones en base a nuevos datos entrantes llamando al predecir función de la instancia de K-means y pasando una serie de observaciones. Se ve así:

>>> # Para llamar a la función predicen con una sola observación >>> kmeans.predict ([5,1, 3,5, 1,4, 0,2]) matriz ([1])

Cuando el predecir función encuentra el centro del cúmulo que la observación está más cerca, emite el índice de la matriz de ese centro del cúmulo. Arrays de Python están indexados a 0 (es decir, el primer elemento comienza a 0). Observaciones más cercanos a un centro del cúmulo se agruparán en ese grupo.

En este ejemplo, el K-means algoritmo predice que la observación pertenece al grupo 1 (Setosa en este caso) - una predicción fácil porque la clase Setosa es linealmente separable y lejos de las otras dos clases.

Además, este ejemplo incluye sólo la primera observación del conjunto de datos para hacer la predicción verificable y fácil de explicar. Se puede ver que los atributos de la observación de que estamos tratando de predecir son muy cerca del centro de segundo cluster (kmeans.cluster_centers_ [1]).

Para ver los centros de los conglomerados, escriba el siguiente código:

>>> Kmeans.cluster_centers_array ([[5,9016129, 2,7483871, 4.39354839, 1.43387097], [5,006, 3,418, 1,464, 0,244], [6.85, 3.07368421, 5.74210526, 2.07105263]])

Para ver las etiquetas de racimo que el algoritmo K-means produce, escriba el siguiente código:

>>> Kmeans.labels_array ([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0,2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2,0, 2, 0, 2, 0, 2, 2, 0, 0, 2, 2, 2, 2, 2, 0, 2, 2,2, 2, 0, 2, 2, 2, 0, 2, 2, 2, 0, 2, 2, 0])

También puede utilizar el predecir funcionar para evaluar un conjunto de observaciones, como se muestra aquí:

>>> # Para llamar al método predecir con un conjunto de puntos de datos >>> kmeans.predict ([[5.1, 3.5, 1.4, 0.2], [5.9, 3.0, 5.1, 1.8]]) array ([1,0 ])

Aunque se sabe que la solución de tres clúster es técnicamente correcto, no se sorprenda si intuitivamente la solución de dos cúmulo parece mirar la mejor. Si aumenta el número de grupos sobre la tercera, la tasa de éxito de sus predicciones 'empieza a descomponerse. Con un poco de suerte (y algunos de adivinanzas educadas), podrás elegir el mejor número de conglomerados.

Considere el proceso de como mezclar un poco de arte con la ciencia. Incluso el propio algoritmo utiliza la aleatoriedad en la selección de los puntos de datos iniciales que utiliza para iniciar cada clúster. Así que incluso si usted está adivinando, estás en buena compañía.

Evaluar el desempeño de un algoritmo requiere una etiqueta que representa la esperado valor y un previsto valor a comparar con. Recuerde que cuando se aplica un algoritmo de agrupamiento a un modelo de aprendizaje no supervisado, usted no sabe cuáles son los valores esperados son - y usted no da etiquetas para el algoritmo de agrupamiento.

El algoritmo pone puntos de datos en grupos sobre la base de los cuales los puntos de datos son similares a uno otro- diferentes puntos de datos terminan en otros racimos. Para el conjunto de datos Iris, K-means tiene ningún concepto de Setosa, versicolor, o Virginica classes- sólo sabe que se supone que agrupar los datos en tres grupos y nombrarlos al azar entre 0 y 2.

El propósito de aprendizaje no supervisado con clustering es encontrar relaciones significativas en los datos, preferiblemente en el que no podría haber visto lo contrario. Depende de usted decidir si esas relaciones son una buena base para una visión práctica.




» » » » ¿Cómo evaluar un modelo de aprendizaje no supervisado con k-medias