Publicado el 16 de Abril del 2017
957 visualizaciones desde el 16 de Abril del 2017
1,3 MB
14 paginas
Creado hace 14a (09/03/2011)
Sistemas Inteligentes de Gestión
Sistemas Inteligentes de Gestión
Guión de Prácticas de Minería de Datos
Guión de Prácticas de Minería de Datos
Práctica 3
Métodos de agrupamiento [Clustering]
Métodos de agrupamiento [Clustering]
© Juan Carlos Cubero
Juan Carlos Cubero & Fernando Berzal
Datos de empleados.sav
iris.csv
FICHEROS DE DATOS
EҭTREGA DE LA PRÁCTICA
Clustering.doc
3ClustersSinOutliers{.data|.sav}
3ClustersSinOutliers{.data|.sav}
3ClustersConOutliers(.data|.sav}
3ClustersConOutliers(.data|.sav}
ClusteringDifícil.data
Clustering_DatosApplet.knime.zip
Clustering_DatosApplet.knime.zip
Clustering_DatosApplet.spo
centroides_*.pmml
Clustering_Iris.knime.zip
DatosApplet
Iris
DatosEmpleados
DatosEmpleados.muestra.csv
Clustering_DatosEmpleados.knime.zip
Clustering_DatosEmpleados.knime.zip
Sistemas Inteligentes de Gestión: Clustering
Clustering 1
K-Means
Para la realización de esta práctica, comenzaremos ejecutando el s iguiente aplet,
Para la realización de esta práctica, comenzaremos ejecutando el s
Para la realización de esta práctica, comenzaremos ejecutando el s
que nos permitirá comprobar el funcionamiento de
que nos permitirá comprobar el funcionamiento del algoritmo
de las k medias
(k-means):
http://home.dei.polimi.it/matteucc/Clustering/tutorial_html/AppletKM.html
http://home.dei.polimi.it/matteucc/Clustering/tutorial_html/AppletKM.html
http://home.dei.polimi.it/matteucc/Clustering/tutorial_html/AppletKM.html
Nuestro conjunto de datos, en este caso, estará formado por
Nuestro conjunto de datos, en este caso, estará formado por
variables de tipo numérico
tuplas de nuestro conjunto de datos corresponderá a un punto
s de nuestro conjunto de datos corresponderá a un punto.
tuplas con dos
, representables por tanto en el plano. Cada una de las
de tipo numérico, representables por tanto en el plano. Cada
ndo la opción para mostrar el historial [Show History
Show History], inicialice
Seleccionando la opción para mostrar el historial [
el algoritmo [Step] para ver cómo
[Initialize], pulse Start
van cambiando los centroides y la asignación de los puntos a sus centroides más
van cambiando los centroides y la asignación de los puntos a
sus centroides más
cercanos.
Start y ejecute paso a paso el algoritmo [Step]
A continuación, cree con el WordPad un fichero llamado
A continuación, cree con el WordPad un fichero llamado Clustering.doc
Clustering.doc en el
que ir guardando los resultados obtenidos durante la realización de los ejercicios.
los resultados obtenidos durante la realización de los ejercicios.
los resultados obtenidos durante la realización de los ejercicios.
Ejercicios tipo C
tipo C
K-Means paso a paso
Ejecute ahora el siguiente applet:
Ejecute ahora el siguiente applet:
http://www.cs.ualberta.ca/~y
http://www.cs.ualberta.ca/~yaling/Cluster/Applet/Code/Cluster.html
Este applet nos permitirá crear nuestro propio conjunto de datos a golpe de ratón:
Este applet nos permitirá crear nuestro propio conjunto de datos a golpe de ratón:
Este applet nos permitirá crear nuestro propio conjunto de datos a golpe de ratón:
1. En la lista de conjuntos de datos [
En la lista de conjuntos de datos [Choose a Dataset], escoja la opción
], escoja la opción
correspondiente a conjuntos de datos definidos por el usuar
correspondiente a conjuntos de datos definidos por el usuario [User Define
User Define].
2. Como algoritmo [Choose an Algorithm
Choose an Algorithm], elija K-Means.
Cree un conjunto de datos haciendo click sobre el área entre los ejes X e Y.
3. Cree un conjunto de datos haciendo click sobre el área entre los ejes X e Y.
Cree un conjunto de datos haciendo click sobre el área entre los ejes X e Y.
Pulse el botón Start para ejecutar el algoritmo de clustering.
4. Pulse el botón Start para ejecutar el algoritmo de clustering.
Pulse el botón Show para visualizar los clusters obtenidos como resultado.
lusters obtenidos como resultado.
5. Pulse el botón Show para visualizar los c
Sistemas Inteligentes de Gestión: Clustering
Clustering 2
Al mostrar los resultados, con Show, se muestra cada punto con un color que representa
el cluster al que ha sido asignado cada punto. Los puntos en rojo corresponden a los
centroides de cada agrupamiento.
Usando la opción Import/Export, podemos generar el conjunto de datos correspondiente
a los puntos que hayamos introducido manualmente. Los pares de valores mostrados por
el applet van separados por un espacio en blanco y se pueden importar fácilmente en
otras herramientas.
Cree una nube de 8 puntos cualesquiera en el plano. Cuando haya generado su conjunto
de datos, incluya sus pares de valores al fichero Clustering.doc y capture la pantalla
de la nube de 8 puntos (con Alt+ImprPant). Inclúyala en el fichero Clustering.doc
(con Ctrl+V).
A continuación, escoja aleatoriamente dos centroides (indíquelos en Clustering.doc)
y realice una ejecución manual del algoritmo, incluyendo, para cada iteración, los
centroides y la tabla de distancias de todos los puntos a los centroides (tantas filas como
centroides y tantas columnas como puntos). Termine la ejecución en cuanto hayan
transcurrido 5 iteraciones o no varíen los centroides.
El ajuste del modelo puede medirse a través de la suma total de distancias al cuadrado
de los puntos a sus centroides (SSE). Calcule el ajuste del modelo determinado por el
valor final de SSE.
Sistemas Inteligentes de Gestión: Clustering 3
DatosApplet
Utilizando el mismo applet del ejercicio anterior, construiremos los siguientes ficheros
de datos, con al menos 40 puntos en cada uno de ellos:
• 3ClustersSinOutliers.data (nube de puntos con 3 clusters sin outliers).
• 3ClustersConOutliers.data (nube de puntos con 3 clusters bien definidos,
más 5 valores anómalos o outliers que no pertenezcan a ningún cluster).
A los dos ficheros anteriores, añádales una primera línea de texto con el nombre de las
variables (a saber, X, Y).
Capture la pantalla (con Alt+ImprPant) de las tres nubes de puntos generadas y cópielas
en el fichero Clustering.doc (Ctrl+V).
MUY IMPORTAҭTE:
Cada alumno deberá trabajar con sus propios datos.
ҭo se admitirán dos prácticas con los mismos conjuntos de datos.
Sistemas Inteligentes de Gestión: Clustering 4
K-Means: DatosApplet @ KNIME
Cree un proyecto en KNIME llamado Clustering_DatosApplet con los siguientes
nodos que nos permitan agrupar los datos de 3ClustersSinOutliers.data:
• Un nodo para leer el fichero.
• Un nodo Data Manipulation > Column > ̱ormalizer para normalizar los datos,
ya que KNIME implementa k-Means sin normalizar previamente las variables.
Con los datos obtenidos desde el applet no hay ningún problema, ya que ambas
variables tienen magnitudes similares. Sin embargo, es bueno que nos
acostumbremos a normalizar las variables.
NOTA: Recordemos que, en SPSS, se hacía de la forma siguiente:
Analizar > Estadísticos Descriptivos > Descriptivos > Guardar
valores tipificados como variables.
• Un nodo Mining > Clustering > k-Means para realizar el clustering. Este nodo
añadirá una columna Cluster, indicando el agrupamiento asignada a cada tupla
de nuestro conjunto de datos. En su configuración, debemos indicar los atributos
que se usarán para establecer los clusters. En nuestro ejemplo, usaremos ambos.
• Un nodo DataViews > Property > Color Manager para colorear los datos
correspondientes a la columna Cluster del nodo anterior.
• Un nodo DataViews > Interactive Table para ver los resultados.
• Dos nodos DataViews > Scatter Plot para ver la nube de puntos original y la
coloreada con los clusters obtenidos.
Para ver los centroides obtenidos, seleccione con la derecha el nodo k-Means y muestre
los resultados (View: Cluster View).
Sistemas Inteligentes de Gestión: Clustering 5
Traceback (most recent call last):
File "/usr/local/bin/pdf2txt.py", line 115, in <module>
if __name__ == '__main__': sys.exit(main(sys.argv))
File "/usr/local/bin/pdf2txt.py", line 109, in main
interpreter.process_page(page)
File "/usr/local/lib/python2.7/dist-packages/pdfminer/pdfinterp.py", line 832, in process_page
self.render_contents(page.resources, page.contents, ctm=ctm)
File "/usr/local/lib/python2.7/dist-packages/pdfminer/pdfinterp.py", line 845, in render_contents
self.execute(list_value(streams))
File "/usr/local/lib/python2.7/dist-packages/pdfminer/pdfinterp.py", line 870, in execute
func(*args)
File "/usr/local/lib/python2.7/dist-packages/pdfminer/pdfinterp.py", line 780, in do_EI
if 'W' in obj and 'H' in obj:
TypeError: argument of type 'int' is not iterable
Comentarios de: Sistemas Inteligentes de Gestión - Guión de Prácticas de Minería de Datos - Práctica 3 Métodos de agrupamiento (0)
No hay comentarios