practica de clementine 12.0

29

Upload: edgar-ortiz-aguilar

Post on 05-Jul-2015

76 views

Category:

Education


2 download

DESCRIPTION

Es un practica de clementine se encontrava en una version bieja si eres de sistemas y te toca mineria de datos probable mente batalles con una practica yo la tengo echa si no encuentras o batallas con gusto te apollo.

TRANSCRIPT

Page 1: Practica de clementine 12.0
Page 2: Practica de clementine 12.0

AGRUPACION DE EMPLEADOS

La empresa de software para Internet “Memolum Web” quiere extraer tipologías de

empleados, con el objetivo de hacer una política de personal más fundamentada y

seleccionar a qué grupos incentivar. Las variables que se recogen de las fichas de

los 15 empleados de la empresa en 1999 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 parking 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/Año: media del nº de bajas por año

· Antigüedad: antigüedad en la empresa

· Sexo: H: hombre, M: mujer.

Page 3: Practica de clementine 12.0

RESOLUCION DEL PROBLEMA AGRUPACION DE EMPLEADOS

1. En primer lugar vamos a leer los datos de los empleados para lo cual

procederemos a ir al programa clementine 12.0 ya ubicados en nuestra área de

trabajo procedernos a agregar un var.file en nuestra área de trabajo que se

localiza en la parte inferior como se indica

a) ya agregado el var. File procederemos a dar doble click sobre el para cargar los

datos como de muestra en la imagen inferior

Page 4: Practica de clementine 12.0

b) ubicaremos el archivo de Empleados4.csv que contiene los datos con los cuales

se trabajara a lo largo de esta práctica el cual seleccionaremos y presionaremos el

botón abrir.

c) posteriormente de abrir el archivo cvs se cargaran los datos como se muestra a

continuación, se aplicaran los cambios y los datos se cargaran al var.file.

Page 5: Practica de clementine 12.0

2) Ahora añadiremos un nodo tabla el cual encontraremos en la parte inferior de la

interface de clementina y lo conectaremos, para esto posicionaremos el más sobre

el var.file pulsaremos clic derecho y seleccionaremos la opción conect con el clic

izquierdo sobre la tabla realizaremos la conexión con el nodo var.File, como se ve

en la siguiente figura:

a) Se procederá a dar doble click sobre la tabla para verificar aparecerá una

pantalla en la cual presionaremos el botón ejecute.

Page 6: Practica de clementine 12.0

b) aparecerá una tabla en la cual estarán los datos de lo contrario regrese a los

pasos anteriores y verifique que no salteo ningún paso asi se vera la tabla.

c) A continuación añadimos un nodo “Type” y lo enganchamos. Todos los atributos

deberían estar IN exceptuando el número de ejemplo, que es irrelevante y pondremos NONE, como se muestra en lasiguiente figura:

Page 7: Practica de clementine 12.0

d) Ahora vamos a utilizar un algoritmo de clustering para obtener grupos sobre esta población. En primer lugar vamos a probar con tres grupos. Para ello añadimos un

nodo Kmeans, lo enganchamos al nodo Type y modificamos el campo “Number of clusters” a 3, como se ve en la siguiente figura:

c) Ahora podemos ejecutar el stream, obteniendo un nodo diamante Kmeans. Lo

podemos añadir y conectaremos al nodo Type, como se muestra en la siguiente

figura:

Page 8: Practica de clementine 12.0

d) ahora añadimos una tabla a la salida del nodo diamante Kmeans podemos

observar qué ejemplos exactamente han caído en qué clúster como se muestra en la siguente imagen

3) procederemos a la agrupación de empleados con datos errones o fatlantes La empresa de software para internet “Memolum Web” ha aumentado

vertiginosamente su plantilla en los últimos años, debido principalmente a una absorción de la compañía “Intelligent Stones” y quiere ver si las tipologías de

empleados existentes siguen valiendo. Las variables que se recogen de las fichas de los 40 empleados actuales 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 parking 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/Año: media del nº de bajas por año · Antigüedad: antigüedad en la empresa · Sexo: H: hombre, M: mujer.

Page 9: Practica de clementine 12.0

a) si corremos nuestra tabla conectada al var.file podremos observar los datos

faltantes así como los erróneos que en los siguientes pasos se realizara el correcto análisis en la imagen inferior se muestra la tabla con los campos los cuales están

sin contenido.

b) Ahora vamos a realizar ciertas gráficas para detectar datos anómalos. Nos interesa ver los datos numéricos, ya que en estos casos es más fácil detectar

outliers. Para ello podemos añadir ciertos nodos “Plot” para comparar diferentes valores. Por ejemplo, podemos querer visualizar la antigüedad respecto al sueldo y

además mostrando los estudios. Añadimos un nodo “Plot” y lo enganchamos con la fuente de datos. Si lo editamos podemos especificar que el campo X será “Sueldo”, el campo Y será “Antigüedad” y el campo de overlay será “Estudios”:

Page 10: Practica de clementine 12.0

Si lo ejecutamos tendremos la siguiente gráfica:

Parece destacar un dato cerca de los 400000€ de sueldo que parece ser un dato

anómalo, dadas las características de la empresa.

c) De modo similar podemos añadir y conectar otro nodo Plot para intentar

relacionar el número de Hijos con las Bajas mostrando el Sexo como overlay. El

resultado es el siguiente.

Page 11: Practica de clementine 12.0

de momento, no nos aporta demasiada información, aparte que la antiguedad

parece estar relacionada con estar casado. Elige una interpretación para esta

relación:

a) Los jóvenes van saltando de una empresa a otra, con lo que no obtienen

antigüedad.

b) La edad y el estado civil están relacionados en el total de la población por lo

que esto no es más que una muestra de ello, ya que para estar más de 10 años

en la empresa hay que tener por lo menos 30 años.

c) Casarse envejece.

d) Todas las anteriores.

El stream que llevamos hasta el momento es el que se muestra en la siguiente

figura:

Page 12: Practica de clementine 12.0

4) Siguiendo con nuestro problema, hemos identificado dos campos con valores

faltantes y dos registros anómalos. Ya que tenemos 40 empleados, lo más

conveniente en este caso es eliminar los dos registros anómalos, pues los

resultados con 38 empleados van a ser similares que con 40 (además más fiables

al haber eliminado registros dudosos).

a)Para eliminarlos, iremos al archivo cvs y los elimaneros guardaremos cambios y

se cargara de nuevo la base de datos en var.file ejecutamos el nodo “Table” y

pinchamos sobre los datos anómalos: en este caso

El sueldo del registro 16 y los hijos del registro 18, como se muestra en la

siguiente figura.

Page 13: Practica de clementine 12.0

Posteior mente correremos la tabla, como podemos observar los datos anomalos

ya no se encuentran que era el renglon 16 y 18

Pulsando en el menú “Generate”, pulsamos la opción “Select Node (“or”)”: el cual

nos creara un generated en la superficie de trabajo como se muetra a

continuación.

Nos ha generado un nodo select con el nombre “Generated”. Enganchamos el

nodo fuente con él y lo editamos, para comprobar que las condiciones se han

Page 14: Practica de clementine 12.0

generado bien y para modificar el modo a y para modificar el modo a “Discard”

(porque son los que queremos eliminar), como se muestra en la siguiente figura:

Para combrobar que los datos anómalos se han eliminado aregaremos una tabla

nueva y la conectaremos con el nodo créate y procederos a ejecutarla para

sersiorarnos que los datos anómalos se han eliminado como podemos observar

en la imagen inferior.

Page 15: Practica de clementine 12.0

Podemos añadir un nodo “Table” y engancharlo con el nodo “generated” para

comprobar que realmente elimina esos dos registros, resultando en 38 registros de

datos.Una vez resuelto el tema de los datos anómalos vamos a ocuparnos de los

datos faltantes. En primer lugar vamos a abordar el campo “Estudios”. Según se

tiene conocimiento de la manera de adquirir este dato (en el momento de

contratación en la empresa) es muy posible que la ausencia de valor en este

campo pueda significar que el contratado no tenía estudios aparte de los

elementales,

Dejando en blanco este campo. Por tanto, vamos a suponer que aquellos registros

sin estudios van a ser realmente “Estudios obligatorios”. Para arreglarlo, y

siguiendo este criterio, vamos a añadir un nodo “Filler”. Previamente debemos

añadir un nodo “Type” y conectarlo al nodo“generated”, como se muestra a

continuación

Ahora pinchamos en el checkbox “defibe blancks”, para que nos reconozca los

valores en blanco, como se muestra en la siguiente figura:

Page 16: Practica de clementine 12.0

Ahora ya sólo nos queda abordar los blancos en “Alq/Prop”. Al haber tres casos

con nulo en este atributo, no parece aconsejable eliminar tres registros, ya que su

información puede ser valiosa. La idea es intentar rellenarlos con algún valor

relativamente razonable. Una idea sería ver qué valor es más frecuente y rellenar

con ese valor, pero en este caso prácticamente los dos valores tienen una

frecuencia similar. Otra opción sería predecir ese valor faltante. Eso es lo que

vamos a hacer. Para ello vamos a crear un clasificador para obtener este valor. En

primer lugar, vamos a eliminar (momentáneamente) los tres valores blancos. Para

ello, ejecutamos el último nodo “table” yseleccionamos uno de los campos que

estén en blanco. Pulsamos en el menú “Generate” como se muestra a

constinuacion en el diagrama:

Page 17: Practica de clementine 12.0

Nos ha generado un nodo “Generated” que enganchamos al nodo “filler”. Editamos

el nodo “Generated” para que excluya estos registros nulos:

Ahora añadimos un nodo “Type” a este nodo “generated” y vamos a señalar el

campo “Alq/Prop” como campo de salida (OUT):

Page 18: Practica de clementine 12.0

Ahora añadimos un nodo de clasificación, por ejemplo, un “C&r tree” y lo

enganchamos al nodo Type como se muestra en la siguiente figura:

Ahora ejecutamos el stream y obtenemos un modelo en el área de trabajo derecha

del Clementine. El cual conectaremos a nuestro nodo type como se muestra en la

siguiente imgen:

Page 19: Practica de clementine 12.0

Añadimos un nodo “analysis", se conectara nuestro crt alq/prop como se muestra

en la siguiente figura:

Podemos evaluar la calidad del modelo ejecutando el nodo “analysis": el cual nos

dará un 100% de correct lo cual es un muy porcentaje.

Este modelo es lo suficientemente aceptable para substituirnos los valores blancos

que teníamos en ese campo. Para ello, volvemos a copiar el modelo en la zona de

trabajo de la izquierda y lo enganchamos a través de un nuevo nodo Type con el

filler y añadimos un nodo “Table”:

Page 20: Practica de clementine 12.0

Si ejecutamos la tabla, vemos que el modelo genera valores para Alq/Prop en un

nuevo campo “RAlq/Prop”:

Page 21: Practica de clementine 12.0

Por último, el campo “Estudios” sería interesante que fuera numérico en vez de

simbólico. Es decir, que fuera una escala. Para ello añadimos un nodo “Derive”. Lo

conectamos al nodo diamante “Alq/Prop” de arriba y lo editamos, poniendo como

nombre “Vestudios” y de tipo “Set”,

Ponemos el primer valor current 1 con la condición (Estudios == ‘Obl’) y le damos

al botón “Add”. Así lo vamos haciendo con todos los valores siguientes, como se

muestra en la siguiente tabla:como se muestra en la figura:

Page 22: Practica de clementine 12.0

Podemos observar el resultado añadiendo un nodo “Table”:

Por último, ya sólo nos falta quedarnos con las columnas válidas. En este caso, se

trata de quedarnos con la columna Vestudios y no la vieja Estudios y en el caso de

Alq/Prop con la derivada y no con la original, que tiene blancos. Para eso

simplemente añadimos un nodo Filter que enganchamos con el nodo “VEstudios"

y lo editamos de la siguiente manera:

Page 23: Practica de clementine 12.0

Ahora ya podemos examinar mejor los datos y realizar múltiples gráficas y tablas

para analizar losdatos, p.ej. los plots que ya vimos, nuevos histogramas, tablas

“Matriz”, etc:Para esto agragaremos tres plots y los conectaremos al ultimo filter tal

como se muestra en la figura

Ahora vamos a añadir un nodo “Type” que lo enganchamos a continuación de

“filter” y ponemos la dirección de todos los campos a IN menos el campo “#Ej” que

ponemos NONE.

Además, para pode utilizar bien los datos, vamos a cambiar el tipo de VEstudios,

que lo habíamos generado como Set y vamos a cambiarlo a Integer Value

utilizando un nodo Type adicional, como se muestra en la siguiente figura:

Page 24: Practica de clementine 12.0

Agregaremos un nodo kemens para obtener los datos deseados después de

aplicar los filtros en el nodo filter

A continuación procederemos a ejecutar nuestro nodo kemens para extraer los

datos el cual obtendremos un diamante k-mens el cual aparecerá en la parte

superior derecha del programa lo conectaremos a nustro nodo type.

Page 25: Practica de clementine 12.0

Procederemos a agregar una table la cual conectaremos al diamante k-mens para

observar los datos filtrados que nos aparesera como cluster se muestra en la

siguente figura

A continuación procederemos a agregar un nodo región el cual nos alludara a

establecer la regiones de los clustering de el k-mens previamente configurado

Page 26: Practica de clementine 12.0

A continuación agregaremos un nuevo nodo k-mens el cual conectaremos a el nodo

región para clustericar los datos deseados.

Procederemos a ejecutar el nodo kmens el cual clusterisara nuestros datos

posteriormente etraeremos el diamante k-mens el cual contendrá los datos de

clostering.

Page 27: Practica de clementine 12.0

Agregaremos una tabla nueva para ver los datos clasificados por regiones el cual

la tabla la conectaremos de nuestro nodo región.

Procedemos a ejecutar nustra tabla para ver los datos clustering cargados por

región.

Page 28: Practica de clementine 12.0

Por ultmio crearemos un nodo k-mens para cargar un nuevo grupos de datos

obteniendo otra dimencion y filtro el cual se conectara a nustro nodo región.

Procederemos a ejecutar nuestro nodo k-means para obtener el diamante k-mens

el cual lo conectaremos a nuestro nodo región.

Page 29: Practica de clementine 12.0

Para comporbar la closterisacion correcta de nuestro k-mens agregaremos una

tabla la cual conectaremos a nuestro k-mens

Procederemos a ejecutar nuestra tabla la cual nos dara como resultado nuestra

tabla de empledos clasificados por clusterin deseados