Cómo crear un modelo de aprendizaje no supervisado con desplazamiento medio
Video: SESIÓN DE APRENDIZAJE UTILIZANDO RUTAS
Un algoritmo de agrupamiento que se ofrece en scikit-learn
que se puede utilizar en el análisis predictivo es el algoritmo de media turno. Este algoritmo, como DBSCAN, no requiere que se especifique el número de grupos, o cualquier otro parámetro, cuando se crea el modelo. El principal parámetro de ajuste para este algoritmo se llama ancho de banda
parámetro. Tu puedes pensar en ancho de banda
como elegir el tamaño de una ventana redonda que puede abarcar los puntos de datos en un clúster. La elección de un valor para el ancho de banda no es trivial, así que vaya con el valor predeterminado.
Ejecutar el conjunto de datos completo
Los pasos para crear un nuevo modelo con un algoritmo diferente es esencialmente el mismo cada vez:
- Abrir una nueva sesión intérprete interactivo de Python.
Utilice una nueva sesión de Python para que la memoria es clara y tiene una pizarra limpia para trabajar. - Pegar el código siguiente en el indicador y observar la salida:
gt; gt; gt; de load_iris sklearn.datasets importación
gt; gt; gt; iris = load_iris ()
- Crear una instancia de desplazamiento medio. Escriba el siguiente código en el intérprete:
gt; gt; gt; de sklearn.cluster MeanShift importación
gt; gt; gt; ms = MeanShift ()
La media de cambio creada con valor predeterminado de ancho de banda. - Comprobar qué parámetros se utilizaron escribiendo el siguiente código en el intérprete:
gt; gt; gt; Sra
MeanShift (ancho de banda = Ninguno, bin_seeding = False, cluster_all = True, min_bin_freq = 1, n_jobs = 1, semillas = None)
- Ajustar los datos del iris en el algoritmo de agrupamiento media turno escribiendo el siguiente código en el intérprete:
gt; gt; gt; ms.fit (iris.data)
Para comprobar los resultados, coloque el código siguiente en el intérprete:
gt; gt; gt; ms.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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
La media de cambio produjo dos agrupaciones (0 y 1).
La visualización de los racimos
Un diagrama de dispersión es una buena manera de visualizar la relación entre un gran número de puntos de datos. Es útil para identificar visualmente grupos de datos y la búsqueda de puntos de datos que están distantes de los grupos formados.
Vamos a producir un gráfico de dispersión de la salida DBSCAN. Escriba el siguiente código:
gt; gt; gt; pylab importación como pl
gt; gt; gt; sklearn.decomposition de PCA importación
gt; gt; gt; PCA = PCA (n_components = 2) .fit (iris.data)
gt; gt; gt; pca_2d = pca.transform (iris.data)
gt; gt; gt; pl.figure ( `Figura 13-7`)
gt; gt; gt; para i en el rango (0, pca_2d.shape [0]):
gt; gt; gt; si ms.labels_ [i] == 1:
gt; gt; gt; c1 = pl.scatter (pca_2d [i, 0], pca_2d [i, 1], C `r` =,
marcador = `+`)
gt; gt; gt; elif ms.labels_ [i] == 0:
gt; gt; gt; c2 = pl.scatter (pca_2d [i, 0], pca_2d [i, 1], c = `g`,
Video: Ministrar por medio del Consejo de Barrio
marcadores = `o`)
gt; gt; gt; pl.legend ([c1, c2], [ `Cluster 1`, `Cluster 2`)]
gt; gt; gt; pl.title ( "cambio Mean encuentra 2 grupos)
gt; gt; pl.show ()
Video: Portafolio Electrónico con Office Word
La salida gráfica de dispersión de este código se muestra aquí.
desplazamiento medio encontró dos grupos. Usted puede tratar de ajustar el modelo con el ancho de banda
parámetro para ver si puede obtener una solución de tres clústeres. desplazamiento medio es muy sensible a la ancho de banda
parámetro:
- Si el valor elegido es demasiado grande, entonces los grupos tenderán a combinar y el resultado final será un menor número de racimos de lo deseado.
- Si el valor elegido es demasiado pequeño, entonces el algoritmo puede producir demasiados grupos y se necesitará más tiempo para funcionar.
Evaluación del modelo
La media de cambio no produjo los resultados ideales con los parámetros por defecto para el conjunto de datos del iris, pero una solución de dos clúster está en línea con otros algoritmos de agrupamiento. Cada proyecto debe ser examinado individualmente para ver qué tan bien el número de clúster se ajusta al problema de negocio.
La ventaja obvia de usar desplazamiento medio es que usted no tiene que predeterminar el número de agrupaciones. De hecho, se puede usar el desplazamiento de media como una herramienta para encontrar el número de grupos para la creación de un modelo de K-medias. desplazamiento medio se utiliza a menudo para aplicaciones de visión artificial porque es bueno en dimensiones más bajas, tiene capacidad para grupos de cualquier forma, y tiene capacidad para grupos de cualquier tamaño.