Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introduccin al
ndice
1. El entorno de trabajo del SPSS Clementine .................................................................................................... 2 1.1 Orgenes (Sources) .................................................................................................................................. 4 1.2 Operaciones con Registros (Record Ops) ............................................................................................... 4 1.3 Operaciones con campos (Field Ops.)..................................................................................................... 5 1.4 Grficos (Graph) ..................................................................................................................................... 5 1.5 Modelado (Modelling) ............................................................................................................................ 6 1.6 Resultado (Output) .................................................................................................................................. 7 2. Un primer ejemplo .......................................................................................................................................... 9 3. Un problema de clasificacin........................................................................................................................ 16 3.1 Enunciado del problema. Seleccin de Frmaco................................................................................... 16 3.2 Resolucin del problema....................................................................................................................... 16 4. Un problema de agrupacin .......................................................................................................................... 25 4.1 Enunciado: Agrupacin de Empleados ................................................................................................. 25 4.2 Resolucin del Problema....................................................................................................................... 25 En esta primera prctica se van descubriendo paso a paso las posibilidades del Clementine utilizando ejemplos muy sencillos y sin realizar validaciones apropiadas de los modelos extrados. El objetivo de este primer boletn es manejarse con cierta soltura en el Clementine.
El entorno del Clementine est basado en nodos que se van disponiendo y conectando para formar un flujo (stream), traducido por Clementine en castellano como ruta. Las rutas pueden dejarse en ficheros separados (.str) o se pueden organizar en proyectos (.cpj). De hecho, tanto las rutas como los proyectos de minera de datos se almacenan en ficheros separados que se pueden abrir, modificar, reejecutar o reorganizar, y que son independientes de las fuentes de datos. La Figura 1 muestra un ejemplo de ruta con seis nodos interconectados:
Como se puede ver en la parte inferior de la Figura 1, el Clementine clasifica los nodos en seis categoras (aparte de la pestaa Favoritos, donde se incluyen los nodos ms usados): Sources (Orgenes): nodos para obtener los datos de trabajo (fuentes de datos). Record Ops (Oper. con registros): operadores para modificar o combinar registros (filas) de distintas fuentes. Es decir, selecciones y combinaciones. Field Ops (Oper. con campos): operadores para modificar o combinar campos (columnas). Graphs (Grficos): grficas. Modelling (Modelado): tipos de modelos/patrones que puede generar Clementine Output (Resultado): presentacin de tablas, anlisis de modelos, estadsticas, exportacin de datos.
Las categoras han sido las mismas (salvo pequeos cambios en la nomenclatura) desde, al menos, la versin 5.2 del Clementine, aunque el nmero de nodos en cada categora se ha ido incrementando lentamente hasta la versin 9. Pasemos a describir los nodos ms importantes de las categoras anteriores y en las versiones en las que estn disponibles. Los nombres los damos en castellano y en ingls porque parte de la ayuda (las cosas ms avanzadas) o informacin en webs de Clementine pueden estar splo en ingls y puede ser til saber cmo es el nombre de los nodos en ingls:
Tr. Kohonen
A Priori Logstica (Log. Regression) rbol C&R (C&R, CART) PCA/Factorial Bietpico (TwoStep) QUEST CHAID CARMA Secuencia (Sequence)
Permite procesar datos no estructurados o semiestructurados: documentos de texto y pginas web y extraer trminos relevantes. Este nodo puede requerir una licencia especial y la traduccin de textos puede requerir una instalacin aparte. La ayuda de este nodo slo est en ingls en la versin 9.0. Genera un conjunto de reglas de clasificacin. Los campos de entrada pueden ser simblicos o numricos, pero la clase ha de ser discreta. Requiere uno y slo un atributo SALIDA.
Adems de los nodos anteriores, existen nodos para los modelos, que se representan con la figura de un diamante. A partir de ahora denominaremos a estos nodos, nodos diamante, para diferenciarlos del resto.
Para ms informacin sobre un nodo, pulsa en el men Ayuda esto? y pincha en el nodo del que requieras ms informacin.
Qu es
Tambin, si estn en el rea de trabajo, puedes pulsar Edicin y luego el icono interrogante de la esquina superior derecha tambin lleva a la ayuda de ese nodo. Los manuales del Clementine son mucho ms completos que la ayuda y pueden encontrar en PDF en Inicio -> Clementine 9.0 -> Documentacin. Normalmente lleva al directorio donde est la documentacin en ingls: C:\Archivos de programa\Clementine\9.0\Help\i18n\English_US Pero de ah al directorio donde est en castellano es fcil ir: C:\Archivos de programa\Clementine\9.0\Help\i18n\spanish_es Los ficheros ms relevantes son ClementineUsersGuide.pdf y ClementineNodeReference.pdf. El resto son ms tcnicos. Finalmente, la siguiente tabla resume los modelos que pueden usarse para diferentes tareas:
NOMBRE Train Net (Red) Build C5.0 (Crear C5.0) Tr. Kohonen Regression (Reg. Lineal) GRI Train Kmeans A Priori Log. Regression (Reg. Logstica) rbol C&R Factorial/PCA TwoStep Build Rule QUEST CHAID CARMA Secuencia (Sequence) Extraccin de Texto (Text Extraccion) Statistics1 (Estadsticos)
(secuenciales)
Clustering
Otros
2. Un primer ejemplo
Vamos a construir la ruta de la Figura 1. En primer lugar, aparte del Clementine, dispones de un directorio llamado LabKDD con todos los ficheros de datos necesarios para realizar este boletn. En particular, en este primer ejemplo, vamos a trabajar con los datos acerca de los das que se ha podido jugar al tenis, dependiendo de diversos aspectos meteorolgicos. El objetivo es poder determinar (predecir) si hoy podremos jugar al tenis. Los datos de que disponemos estn en el fichero: ..\LabKDD\PlayTennis\playtennis-evidence.txt y son los siguientes:
Sky Sunny Sunny Overcast Rain Rain Rain Overcast Sunny Sunny Rain Sunny Overcast Overcast Rain Temperature Hot Hot Hot Mild Cool Cool Cool Mild Cool Mild Mild Mild Hot Mild Humidity High High High High Normal Normal Normal High Normal Normal Normal High Normal High Wind Weak Strong Weak Weak Weak Strong Strong Weak Weak Weak Strong Strong Weak Strong PlayTennis No No Yes Yes Yes No Yes No Yes Yes Yes Yes Yes No
Abrimos el Clementine (para ello, ve a Inicio Programas Clementine 9.0 Clementine 9.0). Al abrir el programa, las dos reas de trabajo (izquierda superior y derecha superior) te aparecen en blanco (mejor dicho, en azul y gris). Existe otra parte que incluye dos pestaas (CRISP-DM y Clases) que, de momento, no vamos a utilizar (puedes minimizarla si quieres). Lo primero que vamos a hacer es insertar un nodo fuente de datos al rea de trabajo. Para ello, pincha dos veces (o pincha una vez en el nodo y despus otra vez en el rea de trabajo) en el nodo Archivo var. que est en la categora Orgenes (abajo a la izquierda). Te aparecer el nodo en el rea de trabajo, como se muestra en la Figura 8:
Para borrar un nodo, simplemente se selecciona y se pulsa la tecla Supr. Tambin se puede borrar con el men de contexto asociado a un nodo, el cual se abre pulsando el botn derecho sobre un nodo. Ahora vamos a conectar el nodo con una fuente de datos. Para ello, pincharemos con el botn derecho sobre el nodo Archivo variable de la zona de trabajo y seleccionaremos Edicin. En la pantalla de edicin modificaremos el nombre del fichero, el directorio donde est y la forma de importarlo (utilizando los tabuladores). Vemoslo paso por paso. Para seleccionar el fichero, simplemente pincha en los puntos suspensivos a la derecha del campo Fichero. Busca el fichero ..\LabKDD\PlayTennis\playtennis-evidence.txt. En la siguiente pantalla (Figura 9) se muestra donde pinchar y qu aparece una vez asignado el fichero.
A continuacin pincha el CheckBox Tabulador y asegrate que el checkbox Leer nombres de campo del archivo est activados, como aparece en la siguiente Figura 10:
10
Pincha en Aceptar. Para ver que carga bien los datos vamos a aadir un nodo Tabla (est en la ltima categora Resultado). Una vez te aparezca en la zona de trabajo, el Clementine conecta ambos nodos automticamente, como vemos en la siguiente figura.
En este caso la conexin realizada es correcta, pero para ver cmo conectar y desconectar nodos manualmente, vamos a desconectar ambos nodos. Para ello con el ratn pinchamos con el botn derecho encima de la flecha y nos aparecer la opcin de destruir la conexin:
11
Ahora vamos a unirlos manualmente. Para ello: Para enlazar dos nodos en Clementine, se pulsa el botn del medio del ratn sobre el nodo origen y se arrastra el ratn hasta el nodo destino, soltando en este momento el botn del medio.
(si el ratn no tiene botn del medio, tambin se puede realizar pulsando el botn izquierdo y derecho a la vez)
El resultado es el siguiente:
Una vez conectados, pulsa sobre el nodo Tabla con el botn derecho y seleccionas EJECUTAR. Te debern aparecer los datos importados en una tabla, tal y como se muestra a continuacin:
12
Como se muestra en la tabla, el problema que estbamos intentando tratar era el de ver los das que podemos jugar al tenis. Para poder abordar este problema, hemos de decir que los campos Sky, Temperature, Humidity, Wind son predictores (es decir de entrada), mientras que el campo Playtennis es la clase a predecir, el resultado (es decir la salida). Para ello vamos a aadir un nodo Tipo, que se encuentra en la categora Operaciones con Campos. Ahora enlazamos el nodo playtennis-evidence... con el nodo tipo. A continuacin, vamos a editar el nodo tipo. Para ello pinchamos con el botn derecho en tipo y pinchamos en EDICIN. Como vemos todos los nodos tienen direccin Entrada. Como la salida va a ser playtennis modificamos su direccin a Salida, como vemos en la siguiente figura:
Una vez hecho esto, le damos a Aceptar y ya estamos en disposicin de intentar aprender un modelo a partir de los datos, en este caso, una funcin, que dados unos determinados valores de los atributos de entrada nos d un valor para el valor de salida. Para ello aadimos un nuevo nodo C5.0 (est en la categora de Modelado) para construir un rbol de decisin sobre los datos. El Clementine nos conecta el nodo Tipo con el nodo C5.0, que pasa a llamarse Playtennis, quedando el resultado como se muestra en la siguiente figura.
Ahora ya estamos en disposicin de aprender un modelo (en este caso un rbol de decisin). Para ello, cogemos carrerilla y sobre el nodo C50 (llamado Playtennis) le damos al botn derecho y seleccionamos Ejecutar. A minerizar!!!! Como puedes observar, se ha generado un nuevo icono en el rea de trabajo de la derecha (pestaa de Modelos, con la forma de un diamante). Somos ricos?
13
No, de momento. Pinchamos dos veces en el diamante de la derecha y nos aparece en el rea de trabajo de la izquierda.
Ahora pinchamos con el botn derecho en el diamante que hemos copiado en el rea de trabajo (el que aparece a la izquierda del todo en la Figura 19) y pinchamos en Editar. En la pantallita que sale aparecen algunas reglas del rbol. Para verlas todas pulsamos en Todos, con lo que tendremos ya todas las reglas. Adems pinchamos en el %, con lo que veremos el nmero de elementos que caen por cada regla y el porcentaje de aciertos. Ahora tienes el rbol etiquetado como se muestra en la siguiente figura:
14
Adems, la Figura 20 nos muestra para cada hoja cuntos ejemplos de la evidencia son cubiertos y con qu confianza (en este caso el 100% en todas las ramas). Cmo interpretramos el rbol anterior? Si pulsamos en Visor, tenemos una representacin grfica::
La representacin lgica del rbol anterior sera: (Outlook=Sunny AND Humidity=Normal) OR (Outlook=Overcast) OR (Outlook=Rain AND Wind=Weak) Finalmente, podemos utilizar el modelo para predecir si podemos jugar o no jugar al tenis hoy. Supongamos que tenemos, p.ej., la instancia (Sky = rain, Temperature = cool, Humidity = high, Wind = strong). Podemos ver en el rbol que la clase es NO, con lo que no jugaremos al tenis. No nos haremos ricos pero nos ahorraremos un constipado. Hemos acabado, de momento, con este ejemplo sencillo. Podemos grabar lo que hemos realizado en un fichero .str mediante Archivo Guardar Ruta. Tambin, si cerramos el Clementine (aunque no es necesario hacerlo ahora), nos permitir (por defecto) grabar los modelos generados, en un fichero con nombre ModelosGenerados.gen.
15
3. Un problema de clasificacin
Vamos a abordar problemas ms complejos a partir de ahora, en particular en la parte de preparacin de datos.
Hay cinco frmacos posibles: DrugA, DrugB, DrugC, DrugX, DrugY. Se han recogido los datos del medicamento idneo para muchos pacientes en cuatro hospitales (los ficheros estn en el directorio ..\LabKDD\drugs). Se pretende, para nuevos pacientes, determinar el mejor medicamento a probar.
16
Ahora aadiremos un nodo tabla y lo engancharemos con el nodo Archivo Var.. Podemos ver los datos ya cargados al ejecutar la tabla, como se ve en la siguiente figura:
La primera pregunta que nos podemos hacer es ver qu frmacos son ms comunes en general, para ver si todos suelen ser igualmente efectivos en trminos generales. Para ello aadimos un nodo Distribucin en la categora Grficos y lo enlazamos con la fuente de datos drug1n. La situacin debe ser similar a la siguiente:
Si editamos el nodo distribucin, podemos elegir el atributo por el cual vamos a representar el grfico. Seleccionamos drug como el atributo para mostrar las distribuciones.
17
Ahora ya podemos ejecutar la ruta y ver la distribucin del uso de frmacos en el hospital 1.
Vemos que el frmaco ms efectivo es el Y, que se administra con xito en casi la mitad de los pacientes. Una regla vulgar sera aplicar el frmaco Y, en el caso que falle, el frmaco X, y as sucesivamente siguiendo las frecuencias de uso con xito. Con la herramienta Clementine seguro que lo podemos hacer mucho mejor... Apliquemos lo mismo que hemos realizado en el ejemplo anterior. Intentemos generar un rbol de decisin. Construyamos y ejecutemos una ruta con un nodo Tipo (donde el atributo drug se ha puesto como salida) y con un nodo C5.0. Aadamos el modelo generado al rea de trabajo como se ve en la siguiente figura:
18
El modelo resultante es el siguiente (para verlo slo tienes que pinchar con el botn derecho en el diamante y EDITAR. Una vez all mostrar Todos los niveles y tambin el %):
Como podemos observar, el rbol tiene bastantes ramas (en concreto 13). Podemos ver cul es el acierto (tambin denominado precisin o accuracy) de este rbol respecto a los datos de entrenamiento. Para ello, conectamos el nodo Tipo al nodo diamante Drug y ste a un nuevo nodo Anlisis de la categora Resultado, como se ve en la siguiente figura:
Si ejecutamos el nodo anlisis (con el men contextual pulsando el botn derecho) obtenemos los siguientes resultados:
19
Figura 30. Calidad del modelo generado para los datos de entrenamiento
Con lo que tenemos un 96,5% de acierto. Es decir un error de slo el 3,5% sobre los datos de entrenamiento. Este modelo es muchsimo mejor que s slo nos guiamos por la distribucin, que nos dara un error de ms del 50% (el 54,5% de las veces el medicamento DRUGY no es el adecuado). De todas maneras, es posible hacerlo mejor... pero cmo? con otro tipo de algoritmo de aprendizaje, una red neuronal, p.ej.? Es posible que otros modelos (p.ej. las redes neuronales) dieran mejor resultado (ya lo probaremos), pero el asunto aqu es que igual no hemos examinado suficientemente los datos de entrada. Vamos a analizar, con ms detenimiento, los atributos de entrada del problema. Es posible que se puedan establecer mejores modelos si combinamos algunos atributos. Podemos analizar pares de atributos utilizando diferentes grficos. Para comparar los atributos discretos, el grfico Malla suele ser conveniente. Creemos un nodo malla y enganchemos el nodo de fuentes de datos drug1n con l. Al editarlo, decimos que vamos a examinar los campos discretos (Sex, BP, Cho, Drug):
20
Figura 32. Relacin (asociaciones) entre los atributos discretos Sex x BP x Cho x Drug con un nivel de 5 (izquierda) y uno de 35 (derecha)
Las lneas ms gruesas representan asociaciones ms fuertes. A un nivel absoluto de 5 no parece ver ninguna relacin especial entre los distintos valores de los atributos discretos, exceptuando la clase (valor de salida drug), que va decreciendo la intensidad de una manera regular para los frmacos menos usuales. Pero si movemos el lmite a 35 podemos ver algunas cosas interesantes: la presin High y Low est ms asociada a hombres que a mujeres (slo se asocia la presin High). En cualquier caso, este tipo de grfico nos permite conocer un poco mejor la relacin entre los atributos discretos (no numricos) pero no parece aportar mucha informacin de cmo podemos intentar mejorar el modelado. Estudiemos la relacin que hay entre los atributos continuos (numricos) y su influencia en la clase. Para ello vamos a utilizar el nodo grfico de la categora grficos. Aadimos el nodo al rea de trabajo y lo enganchamos con el nodo de entrada drug1n. Lo editamos y seleccionaremos que queremos comparar el Na y el K. Para ello al editar el nodo grfico pondremos en el Campo X el campo Na, en el Campo Y el campo K y en el Superponer la clase Drug, tanto en color como en forma. Lo dems se deja por defecto, como se ve en la siguiente figura:
En la pestaa de Aspecto podemos cambiar el fondo del grfico a color blanco, para que se vean ms claros los colores. El resultado al ejecutar el grfico es el siguiente:
21
En este grfico s que se ven algunas caractersticas muy significativas. Parece haber una clara separacin lineal entre una relacin K/Na alta y una relacin K/Na baja. De hecho, para las concentraciones K/Na bajas, el frmaco Y es el ms efectivo de una manera clara y parece mostrarse que por encima de un cierto cociente K/Na ese medicamento deja de ser efectivo y se debe recurrir a los otros cuatro. Podemos utilizar este conocimiento que acabamos de extraer para mejorar nuestros modelos. Hemos establecido que el medicamento a administrar depende en gran medida del cociente entre K/Na. Por tanto, vamos a realizar un nuevo modelo que utilice este cociente. Para ello, vamos a crear un nuevo atributo derivado (tambin llamados atributos pick & mix) mediante el nuevo nodo Derivar de la categora Oper. con campos, que enganchamos con el nodo drug1n.
Ahora duplica (para duplicar un nodo, en el men contextual con el botn derecho pulsamos en copiar y luego en el rea de trabajo pulsamos pegar) los nodos Tipo y el nodo C5.0 Drug que
22
tenamos de antes y engnchalos al ruta que sale del nodo Na_to_Ka. Cambia el nombre del nodo Drug (C5.0) a Drug2, para no liarte. Para ello, pulsa el botn derecho sobre Cambiar Nombre y Anotaciones:
Ahora vamos a la pestaa Modelo y cambiamos el nombre del campo de salida, como se ve en la siguiente figura:
Ahora ejecuta ese nodo y te generar un nuevo modelo Drug2. Adelo al rea de trabajo, engnchalo con el nodo Tipo de abajo y aade un nodo de Anlisis como hicimos con el primer modelo. El grafo de rutas resultante debe ser el de la siguiente figura:
23
Modelo mucho ms simple y corto que el anterior, en el que se ve la importancia del atributo que hemos creado Na_to_K. Podemos verlo de manera grfica (pestaan Visor) tambin:
Figura 40. Visin grfica del segundo modelo que utiliza el atributo derivado Na_to_K
24
Figura 41. Calidad del segundo modelo que utiliza el atributo derivado Na_to_K
Tenemos con el nuevo modelo un 99.5% de precisin, con lo que el modelo es mucho ms fiable que antes. La precisin no es exactamente 100% en este caso porque hay un ejemplo con Na_to_K = 14,642. El rbol lo toma slo con dos dgitos 14,64 y por tanto le asigna DrugX, mientras que el anlisis lo toma con los tres dgitos y le asigna DrugY, ya que la regla principal depende de si es mayor o menor de 14,64. No obstante, los rboles de decisin pueden tener poda y tener porcentajes que no son del 100% ni siquiera con los mismos datos que se han usado para el aprendizaje. Todos estos detalles los trataremos ms adelante. De hecho, como veremos, los modelos los evaluaremos con datos de validacin/prueba, nunca con los mismos datos de entrenamiento, como hemos hecho ahora. Ahora graba la ruta en un fichero .str, p.ej. drug1.str, porque volveremos sobre este problema.
4. Un problema de agrupacin
4.1 Enunciado: Agrupacin de Empleados
La empresa de software para Internet Memolum Web quiere extraer tipologas de empleados, con el objetivo de hacer una poltica de personal ms fundamentada y seleccionar a qu grupos incentivar. Las variables que se recogen de las fichas de los 15 empleados de la empresa son: Sueldo: sueldo anual en euros. Casado: si est casado o no. Coche: si viene en coche a trabajar (o al menos si lo aparca en el prking de la empresa). Hijos: si tiene hijos. Alq/Prop: si vive en una casa alquilada o propia. Sindic.: si pertenece al sindicato revolucionario de Internet Bajas/Ao: media del n de bajas por ao Antigedad: antigedad en la empresa Sexo: H: hombre, M: mujer.
Los datos de los 15 empleados se encuentran en el directorio ..\LabKDD\empleados\empleados.txt). Se intenta extraer grupos de entre estos quince empleados.
25
aadiremos un nodo fuente Archivo Var. y al editar, indicaremos el nombre y directorio del fichero y marcaremos el checkbox para que obtenga el nombre de los atributos a partir de la primera lnea del fichero y adems marcaremos el checkbox Tabulador:
A continuacin aadimos un nodo Tipo y lo enganchamos. Todos los atributos deberan ser de ENTRADA exceptuando el nmero de ejemplo (#Ej), que es irrelevante y pondremos NINGUNA, como se muestra en la siguiente figura:
Ahora vamos a utilizar un algoritmo de clustering para obtener grupos sobre esta poblacin. En primer lugar vamos a probar con tres grupos. Para ello aadimos un nodo Kmedias (en modelado), lo enganchamos al nodo Tipo y modificamos el campo Nmero de conglomerados a 3, tambin
26
marcamos que nos genere el campo de distancia y que nos muestra la proximidad de conglomerados, como se ve en la siguiente figura:
Ahora podemos ejecutar la ruta, obteniendo un nodo diamante K-medias. Lo podemos aadir y enganchar al nodo Tipo, como se muestra en la siguiente figura:
Si examinamos el nodo diamante Kmeans vemos qu caractersticas tiene cada cluster/conglomerados. A continuacin, se muestra de una manera ms resumida a cmo lo muestra el Clementine (que incluye desviaciones y distancias): cluster 1 5 examples Sueldo : 226000 Casado : No -> 0.8 S -> 0.2 Coche : No -> 0.8 S -> 0.2 Hijos : 0 Alq/Prop : Alquiler -> 1.0 Sindic. : No -> 0.8 S -> 0.2 Bajas/Ao : 8 Antigedad : 8 Sexo : H -> 0.6 cluster 2 4 examples Sueldo : 225000 Casado : No -> 1.0 Coche : S -> 1.0 Hijos : 0 Alq/Prop : Alquiler -> 0.75 Prop -> 0.25 Sindic. : S -> 1.0 Bajas/Ao : 2 Antigedad : 8 Sexo : H -> 0.25 M -> 0.75 cluster 3 6 examples Sueldo : 188333 Casado : S -> 1.0 Coche : S -> 1.0 Hijos : 2 Alq/Prop : Alquiler -> 0.17 Prop -> 0.83 Sindic. : No -> 0.67 S -> 0.33 Bajas/Ao : 5 Antigedad : 8 Sexo : H -> 0.83 M -> 0.17
27
Podemos verlo de una manera grfica tal y como lo muestra el Clementine en la pestaa de Visor:
En esta visualizacin grfica podemos ver adems a qu campos el K-medias les asigna mayor o menor importancia a la hora de haber realizado los grupos. Si aadimos un nodo tabla a la salida del nodo diamante Kmedias podemos observar qu ejemplos exactamente han cado en qu clster.
28
Podemos ver a qu conglomerado va a parar cada ejemplo. Pero adems, podemos ver la distancia al centro de su conglomerado. Cuanto menor es ese valor la pertenencia a su conglomerado es ms fuerte. En cambio, cuanto mayor es ese valor el empleado no est tan claramente asignado dentro de su conglomerado. EJERCICIOS PROPUESTOS: Cmo interpretaras los tres grupos anteriores? Vara el nmero de clusters (2, 4, 5, ...) y vuelve a ejecutar la ruta para cada uno de estos valores. qu se puede observar? Analiza las distancias entre grupos y las distancias de los elementos al centro Ahora graba la ruta en un fichero .str, p.ej. empleados.str, porque volvemos sobre este problema a continaucn.
29