Académique Documents
Professionnel Documents
Culture Documents
de datos
Ramon Sangüesa i Solé
PID_00165728
FUOC • PID_00165728 Preparación de datos
FUOC • PID_00165728 Preparación de datos
Índice
Introducción ............................................................................................. 5
Objetivos .................................................................................................... 6
Resumen ..................................................................................................... 50
Actividades ................................................................................................ 53
Bibliografía ............................................................................................... 55
FUOC • PID_00165728 5 Preparación de datos
Introducción
Como ya comentamos al describir el proceso de data mining, lo más normal es Podéis ver la preparación de los
datos en el subapartado 2.3 del
que los datos necesarios para llevar a cabo un proyecto de data mining, una vez módulo “El proceso de descubrimiento
de conocimiento a partir de datos” de
esta asignatura.
seleccionadas, tengan que ser modificados y preparados para, de este modo,
poder aplicarles el método de construcción del modelo elegido para la tarea de
que se trate.
Objetivos
complicado por él mismo– es necesario adecuar tanto los valores como los for- ... permiten que éstas puedan
ser tratadas por los algoritmos
matos de los datos. correspondientes y nos den el
mejor modelo posible con los
datos disponibles.
mejor modelo posible del conjunto de los datos. ... ocupa en promedio el 70%
del tiempo total de un proyec-
to data mining.
Este último aspecto resulta especialmente difícil, ya que no hay una medida
de calidad absoluta ni independiente de la tarea que se quiera realizar, o del
tipo de modelo que se quiera obtener.
Las medidas de calidad de los modelos predictivos, por ejemplo, no tienen por
La calidad…
qué ser las mismas que las que se utilizan para obtener buenos modelos de
... del proceso de data mining
agregación, descripción o explicación. Aun así, se han propuesto métodos ge- está relacionado con la tarea
nerales, no supervisados o “ciegos” al tipo de tarea por realizar que tienen una a la que se desee aplicar el mo-
delo.
utilidad lo suficientemente alta.
Dentro del proceso de preparación de los datos separamos las tareas siguientes:
Lecturas recomendada
Con la intención de poder valorar mejor algunas de las técnicas que presenta- Podéis profundizar en los
conceptos de estadística con
remos en este módulo y en el resto de la asignatura, será necesario que refres- la lectura de la obra siguiente:
quemos algunos conceptos que proceden de la Estadística. Para profundizar L. Lebart; A. Morineau; J.P.
Fenelon (1985). Tratamiento
más en algunos detalles, recomendamos la consulta de un texto especializado estadístico de datos. Barcelona:
Marcombo.
como la lectura que mencionamos al margen.
FUOC • PID_00165728 8 Preparación de datos
Para hablar con una cierta uniformidad, adoptaremos una buena parte de la
terminología utilizada en estadística. En efecto, el proceso de data mining in-
corpora muchos de los intereses y pasos del análisis de datos, y también de la
obtención de modelos a partir de conjuntos de datos, que son las tareas pro-
pias de la estadística. Es preciso, en cualquier caso, que recordemos una serie
de conceptos estadísticos que nos permitirán aclarar las cosas.
El concepto población consiste en todos los objetos que queremos estudiar, y Podéis ver los casos de ejemplo
de los clientes de un banco y de la
no sólo en aquéllos cuyas características hemos podido observar y recoger di- cadena Hyper-Gym presentados al
módulo “El proceso de descubrimiento
de conocimiento a partir de datos”.
rectamente. Por ejemplo, todos los clientes de la cadena Hyper-Gym, y no
sólo los que hemos utilizado para construir el conjunto de entrenamiento; o
todos los clientes (morosos y no morosos) de un banco, y no sólo aquéllos de
los cuales hemos utilizado sus datos para construir un modelo de clasificación
que prediga quién podría ser moroso y quién, no.
Aquí tenéis una serie de conceptos propios de la estadística descriptiva que nos
permitirán hablar con mayor corrección de las propiedades de poblaciones y
muestras. En cualquier caso, no los damos de manera formal, sino sólo para
FUOC • PID_00165728 9 Preparación de datos
n
1
X = --- x i
n
i=1
n
2 1 2
s = ----------------- x i – X
n – 1
i=1
N
2 1 2
= ---- x i –
N
i=1
2
X –
– ---------------------
1 2
2
f X = --------------- e
2
No podemos olvidar las características que una función de este tipo da a la dis-
tribución.
Aquí tenemos dos distribuciones con la misma media, pero con desviaciones diferentes:
Esta última gráfica corresponde a la distribución de edades entre los hombres y las muje-
res que son socios de nuestro club imaginario.
z = ----------------
x – -
Comparación de medidas
Los valores z tienen la peculiaridad de que permiten comparar medidas pare- de poblaciones diferentes
cidas que pueden proceder de poblaciones diferentes. Nos dicen que una persona
procedente de un país donde
se come mucha grasa tiene
La importancia de esta forma de representar la distribución normal se ve en cal- un grado de colesterol al que
le corresponde un valor z de 1,
cular la superficie situada bajo la función entre los puntos que se encuentran a y que otra persona de un país
donde la población es mayori-
una desviación estándar hacia la izquierda y a una desviación estándar hacia a tariamente vegetariana tiene
la derecha: en esta zona se sitúa el 68% de las observaciones; en dos desviaciones un grado de colesterol al que
le corresponde un valor z de 3.
estándar se reúne el 90% de las observaciones. El intervalo normal deja a su de- ¿Cuál de ambas está en mejo-
res condiciones?
recha el 5% de los casos. Ya veremos qué utilidad tiene todo esto.
Intervalo de confianza 1 –
p1 – p
es = --------------------
n
Pruebas de hipótesis
Pruebas de conformidad
Hemos observado que entre diez socios de uno de los centros de Hyper-Gym, la propor-
ción de personas de treinta años es del 33%, y queremos ver si ese dato se corresponde
con las características globales de todos los centros. ¿Qué diríamos si la proporción gene-
ral fuera del 60%?
Podemos resolverlo comparando la proporción observada con la teórica. Los datos de las
edades de los socios son los siguientes:
Edades 30 34 45 30 45 30 60 32 45 43
p – p0
z = ----------------
-
es
0,33 0,67
es = ----------------------------- = 0,022 = 0,148
10
Podéis consultar los valores z que se encuentran en el material asociado para saber qué
indica este resultado. Fijaos en que el valor de z para un nivel de confianza del 5% es 0,46.
FUOC • PID_00165728 14 Preparación de datos
Vale la pena tener en cuenta los parámetros de una distribución para poder ha-
cer comparaciones. Hay distribuciones con una dispersión muy alta y otras
con una distribución muy baja; las primeras son más “planas” que las segun-
das. Damos, pues, una primera aproximación para saber si dos distribuciones
representan la misma población o poblaciones diferentes.
Significación o significancia
X–
----------------
2
s n
Este valor, no obstante, no sigue una distribución normal, sino una distribu-
ción conocida como t de Student con n – 1 grados de libertad, que también
está tabulada y podéis encontrar en el mismo material asociado.
El problema que nos planteamos ahora es el de probar si las dos medias son
iguales, que es lo mismo que ver si la diferencia entre medias, X – Y , es cero.
En este caso se define una variable nueva, m, que recoge las diferencias entre
los valores de las observaciones correspondientes, xi e yi. Ahora hay que en-
contrar el estadístico de Student que le corresponde:
m–0
t = ---------------
-
2
s n
FUOC • PID_00165728 16 Preparación de datos
Podemos comprobar con estos diecinueve valores para la edad de los hombres y dieci-
nueve valores para la edad de las mujeres, seleccionados entre los socios del mismo cen-
tro de Hyper-Gym, que la diferencia no es significativa.
30 24
32 35
32 36
36 41
30 21
55 56
32 23
40 33
60 32
41 20
36 67
59 24
33 22
34 61
34 30
35 30
32 28
30 23
18 29
Encontraréis que el valor P(T <= t) es 0,8 y el valor correspondiente a la confianza del 5%,
2,09.
Como este valor está por debajo, tenemos que aceptar que las medias de las dos edades
no son significativamente diferentes.
Una propiedad interesante en lo que respecta a la relación que hay entre dos
variables es la que determina si los valores que adopta una influyen en los que
adopta la otra. Si, efectivamente, tienen relación, las variables serán en ese
caso dependientes.
tización, hacemos una descripción más detallada de esta prueba. También en-
Podéis ver la prueba de chi
contraréis las tablas necesarias en el material asociado correspondiente. cuadrado en el subapartado 3.2
de este módulo didáctico.
En efecto, un conjunto de tuplas extraídas de una base de datos que tiene como
Por ejemplo, ...
atributos X1, …, Xn puede considerarse una muestra extraída de una población
definida sobre el mismo conjunto de variables X1, …, Xn. La probabilidad de ob- ... en el caso de nuestro gimna-
sio ficticio:
servar una combinación de valores concretos que corresponden a una de las ob- P (Sexo = ‘Mujer’, Edad = 43,
servaciones de la base de datos P(X1=X11,X2=X23,X3=X33,...,Xn=Xn3) sigue una Horario = ‘Mañana’, Años
en el club = 4, Act1 = ‘Yoga’,
distribución multivariante, en la que cada una de las variables puede responder Act2 = ‘Steps’)
Y sin tener en cuenta todos
a un mismo tipo de distribución (por ejemplo, normal), aunque no necesaria- los atributos.
mente con idénticos parámetros.
Por ejemplo, los parámetros que caracterizan una distribución normal, media
y varianza de población no tienen por qué ser los mismos para X1 que para X3.
Asimismo, ni siquiera el tipo de distribución que sigue X1 tiene que ser el mis-
mo que el seguido por X3. Así pues, X1 puede seguir una distribución unifor-
me, y X3, una distribución normal. Llegado el momento oportuno ya veremos
hasta qué punto puede afectarnos todo esto en la formalización y caracteriza-
ción de los métodos de data mining. Por ahora basta con que tengamos presen-
tes los conceptos rudimentarios sobre estadística que se han presentado hasta
el momento.
FUOC • PID_00165728 18 Preparación de datos
También podemos utilizar otros criterios: las dimensiones del rango de valores
Lectura complementaria
y la escala de medida utilizada.
Encontraréis otros criterios
para describir dominios
en la obra siguiente:
Ateniéndonos al rango de valores de la variable, podemos distinguir:
M. Anderberg (1973).
“Cluster Analysis for
Applications”. Academic
• Las variables continuas. Tienen un conjunto de valores infinito no nume- Press.
rable. Caso típico: los números reales.
• Las variables binarias. Variables discretas que sólo pueden tomar dos va-
lores. Caso típico: la representación de los valores lógicos ‘Verdadero’ y
‘Falso’ mediante los números 1 y 0.
• Las escalas nominales sólo distinguen dos clases; es decir, para dos valores
X e Y, sólo podemos decir si son iguales (X = Y) o diferentes (X Y). Por
ejemplo, si tenemos un atributo que recoge el valor del color de una pieza
del almacén, en el que el atributo Color se ha definido sobre el conjunto
{‘Rojo’, ‘Verde’, ‘Azul’}.
FUOC • PID_00165728 19 Preparación de datos
• Las escalas ordinales corresponden a los valores sobre los cuales puede de-
finirse una relación de orden. Para dos valores X e Y, además de decir si son
iguales (X = Y) o diferentes (X Y), podemos distinguir X > Y de X < Y. Nos
permiten, pues, ordenar valores cuando ello sea necesario.
La razón por la cual los valores continuos son tratados por separado es que po-
demos considerar que pueden llegar a tener tantos valores diferentes que cada
uno de esos valores concretos aparece con una frecuencia muy baja. Este hecho
puede dar lugar a problemas de precisión en algunos métodos que tienen que
hacer comparaciones entre valores, ya que dos valores de este tipo difícilmente
serán del todo iguales entre sí. De ahí que se apliquen técnicas de suavización
Podéis consultar las técnicas de
de valores o discretización encaminadas a reducir el número de valores por com- discretización en el subapartado 3.2
de este módulo didáctico.
parar.
Observaciones
Se puede normalizar de manera que los valores numéricos queden dentro del intervalo
real (0, 1) o (–1, 1).
Por ejemplo, si nos encontramos con que el atributo Edad de nuestro ejemplo del gimna-
sio oscila entre dieciocho y ochenta y siete años, podemos hacer que vaya a parar a los
valores (0, 1). Si el atributo Años en el club (que oscila entre 0 y 14) también se transforma
de manera que dé valores entre 0 y 1, entonces podamos saber que un valor 0,8 en Edad
y un valor 0,8 en Años en el club, aunque no corresponden al mismo valor, sí que repre-
sentan valores en la escala alta de los atributos respectivos.
Con este tipo de normalización nos aseguramos que el máximo recibe el valor 1.
Entonces xmax es 53.000.000 y los valores, una vez transformados, quedan así:
x i – x min
z i = -----------------------------
-
x max – x min
Entonces xmax es 53.000.000 y xmin es 3.500.000. Los valores una vez transformados que-
dan como se sigue:
Escalado decimal
x
z i = -------i-j
10
donde j tiene que ser tal que mantenga el máximo valor que puede adoptar xi
por debajo de uno.
queremos que los valores queden normalizados entre 0 y 1. Entonces tenemos que el va-
lor máximo es 53.000.000. Tenemos que encontrar el valor de j que haga que, una vez
transformado, 53.000.000 sea inferior y lo más cercano posible a 1. Este valor de j es 8.
El resultado de hacer la transformación:
xi
z i = --------
-
8
10
xi –
z i = -------------
Esta normalización resulta adecuada para trabajar después con métodos que
utilizan distancias.
Edad Estandarización
22 –0,8006279
43 0,2982732
31 –0,3296703
22 –0,8006279
34 –0,1726845
22 –0,8006279
45 0,4029304
43 0,2982732
23 –0,7482993
88 2,6530615
3.2. Discretización
Recordemos que una buena parte de los métodos de data mining trabajan con
la suposición de que los atributos con que se describen las instancias u obser-
vaciones existentes en la base de datos de la cual se parte son categóricos y no
numéricos. Por este motivo, esta es una de las técnicas más utilizadas en la pre-
paración de datos.
lores por tratar, el número de comparaciones y cálculos que tendrá que realizar
el correspondiente método de data mining es menor.
d) Tamaño del modelo resultante. Cuando se trabaja con datos continuos, los
modelos clasificatorios que se obtienen son comparativamente mayores. Por
ejemplo, los árboles de decisión que se obtienen acostumbran a tener un fac-
tor de ramificación más alto cuando se trabaja con datos continuos que cuan-
do se trabaja con datos discretos.
troducimos un proceso de clasificación y obtenemos tasas de error más altas o ... en el proceso de discretiza-
ción es que los dos números
de predicción más bajas que sin discretizar, poco hemos ganado. Por lo tanto, situados en los extremos
lo que buscan la mayoría de los métodos de discretización es mantener la infor- del intervalo de discretización
se consideran el mismo núme-
mación asociada al atributo que se discretiza. Un inconveniente que normal- ro. Este efecto influye en la
precisión de los modelos
mente se cita al hablar de métodos de discretización es precisamente la pérdida de aprendizaje.
de información sobre los valores continuos. Este tipo de efectos puede tener
una influencia notable en la precisión de los métodos de aprendizaje.
Encontraréis más
• Supervisados o no supervisados. Es decir, métodos que tienen en cuenta información con relación
a las diversas categorías de
los valores del atributo clase o no (los primeros dirigidos a clasificación; los los métodos de discretización
segundos, a otras tareas). en la obra siguiente:
J. Dougherty; R. Kohavi;
M. Sahami (1995).
“Supervised and Unsupervised
• Locales o globales. Métodos limitados a un atributo cada vez, o a un sub- Discretizations of Continuous
conjunto de los datos originales o conjunto de datos, o bien actuando so- Features”. Proceedings of the
12th International Conference
bre todos los atributos y todos los datos. on Machine Learning
(pág. 194-202). Morgan
Kaufmann Publishers.
• Parametrizados y no parametrizados. Los primeros empiezan conocien-
do el número máximo de intervalos que hay que generar para un atributo
específico, mientras que los demás tienen que encontrar este número au-
tomáticamente.
estas dos discretizaciones pueden ser igualmente útiles o no. En ambos casos
utilizamos el atributo Años en el club que toma valores entre 0 y 16:
0-2 Inicial
2-4 Estable
4-6 Fiel
6-11 Senior
11-16 Veterano
0-4 Estable
<5 Fiel
Está claro que los métodos existentes para discretizar dependen en gran medi-
da de la tarea que se quiere realizar. Por tanto, la calidad del método estará en
función de la mejora de la calidad del modelo que resulte de aplicar una téc-
nica de data mining sobre el conjunto de datos discretizados.
Haremos una descripción progresiva de los métodos desde los que parecen
más naturales y sencillos hasta otros más refinados.
Aquí tenéis los intervalos que se obtienen con k = 4 y el atributo Años en el club de la base
de datos de Hyper-Gym.
Intervalos
0-4
5-8
9-12
13-16
Por ejemplo, si resulta que sólo tenemos un socio que hace dieciséis años que
está en el club, tendríamos que pensar que dieciséis no se puede considerar un
valor representativo y que, si lo mantenemos, haremos que tanto la capacidad
predictiva como descriptiva de este atributo queden alteradas por la importan-
cia exagerada que damos a un valor poco normal.
FUOC • PID_00165728 27 Preparación de datos
Los métodos que, como los árboles de decisión, se basan en la propiedad que
acabamos de mencionar para decidir cuándo un atributo es útil para separar
el conjunto de datos en clases pueden quedar afectados por el uso de este mé- Podéis ver los árboles de decisión
en el módulo “Clasificación: árbol
de decisión” de esta asignatura.
todo de discretización.
c) Con este método no hay manera de encontrar un valor de k que sea lo su-
ficientemente bueno.
Uno de los problemas que hemos citado al comentar el método anterior es que
puede generar intervalos en los que las distintas clases o valores se distribuyan
con frecuencias diferentes. Por este motivo se puede introducir información
sobre la frecuencia requerida de la manera siguiente:
Número de valores -
Frecuencia = -----------------------------------------------------------
Número de intervalos
1) Ordenar los valores del atributo X que se quiere considerar de menor a ma-
yor: x1, ..., x n.
Total := 0
Para Intervaloi = 1 hasta k hacer
Para xi = 1 hasta frec hacer
Para punto = 1 hasta frec hacer
Asignar A (Total + punto) a Intervaloi
fpor
Total := Total + frec
fpor
FUOC • PID_00165728 28 Preparación de datos
55 22 27 40 28 22 28 31 27 31 31 55
22 22 27 27 28 28 31 31 31 40 55 55
Valor 22 27 28 31 40 55
Frec. 2 2 2 3 1 2
Haremos una discretización en tres intervalos (k = 3); por lo tanto, la frecuencia por in-
tervalo tendría que ser n/k (donde n indica los valores existentes, en este caso 12). Así
pues, la frecuencia deseable por intervalo es 4.
22 22 27 27 28 28 31 31 31 40 55 55
Los puntos de corte se encuentran en < 27 y < 31. Como podéis ver, los intervalos no son
demasiado uniformes.
Encontraréis la suposición
Cuando se está en condiciones de suponer que la distribución que siguen los de normalidad explicada
con más detalle en la obra
valores del atributo es normal, se puede aprovechar este punto de partida para siguiente:
obtener discretizaciones que mejoren algunos de los problemas que presentan M. Anderberg (1973).
“Cluster Analysis for
los métodos anteriores. Applications”. Academic
Press.
1) Ordenar los valores del atributo x presente en los datos x1, ..., xn.
7) Mientras que la proporción de valores que se han leído hasta ahora sea me-
nor que Pi, ponemos el valor leído A(i) dentro del Intervaloi.
El método puede hacerse más sencillo si se evita pedir al usuario los valores z
y, en cambio, se calculan a partir de los datos.
Método k-means
2
Dist x 1 x 2 = x1 – x2
2
Dist x j x i = xj – xi
k i max
1 2
Error actual configuración = --- xj – xi
k
i=1 j=1
1) Ordenar los valores del atributo X presente en los datos x1, ..., xn.
Erroranterior(Configuracionesi) = Erroractual(Configuracionesi)
22 22 22 27 27 28 31 31 31 40 55 55
22 22 22 27 27 28 31 31 31 40 55 55
FUOC • PID_00165728 32 Preparación de datos
Distancia media
Intervalo Media
(error del intervalo)
1 22 0
2 24,5 1,666
3 27,5 0,333
4 31 0
5 35,5 3
6 55 0
22 22 22 27 27 28 31 31 31 40 55 55
Distancia media
Intervalo Media
(error del intervalo)
1 22 0
2 27,333 0,444
3 33,25 4,5
4 55 0
22 22 22 27 27 28 31 31 31 40 55 55
Otras variantes del método uniformizarían todavía más el resultado asignando a cada in-
tervalo el valor mayoritario.
Los métodos que hemos discutido hasta ahora no se dirigían a ninguna tarea Podéis ver los árboles de decisión
en el módulo “Clasificación: árbol
de decisión” de la presente asignatura.
concreta, podríamos utilizarlos tanto para clasificación como para agregación.
Ahora bien, en el caso de la clasificación nos interesa asegurar que dentro de
cada intervalo generado los valores de las distintas clases que pueden existir se
distribuyen lo más uniformemente posible. Ésta es una problemática que vol-
vemos encontrar en otro nivel al hablar de árboles de decisión. Algunas de las
soluciones que se han aportado son comunes al problema de la discretización
y a algunos pasos de la construcción de árboles de decisión.
FUOC • PID_00165728 33 Preparación de datos
Una buena discretización de datos tendría que mostrar la propiedad consisten- Lectura recomendada
te en que dentro de cada intervalo apareciesen representadas todas las clases
Podéis consultar el método
de forma parecida, y muy diferente respecto de otros intervalos. En términos chi merge en la obra
siguiente:
de frecuencias, eso querría decir que dentro de un intervalo habría que esperar
R. Kerber (1992). “Chimerge:
a que la frecuencia de aparición de valores de cada clase fuera parecida, y muy Discretization of Numeric
Attributes”. Proceedings
diferente de la de otros intervalos. Si la primera condición no se cumple, quie- of the 10th National Conference
re decir que tenemos un intervalo demasiado heterogéneo y que sería preciso on Artificial Intelligence
(pág. 123-127).
subdividirlo. Si no se cumple la segunda, entonces quiere decir que el interva-
lo es muy parecido a algún otro intervalo adyacente, de manera que, en tal ca-
so, sería necesario unirlos. Una manera de medir estas propiedades es
recurriendo al estadístico 2 para averiguar si las frecuencias correspondientes
a dos intervalos son significativamente diferentes (y, por lo tanto, ya es correc-
to que los intervalos estén separados), o bien que no lo son y hay que unirlos.
n k 2
2 N ij – E ij
= -------------------------
-
E ij
i = 1j = 1
donde:
• n es el número de intervalos que hay que comparar entre sí; para simplifi-
car, haremos n = 2.
5) Repetir los pasos siguientes hasta que para todo par Intervaloi, Intervaloj ad-
yacentes significación(Intervaloi) > s ^ significación(j) > s:
a) Considerar como umbral posible el punto medio, xmedio, entre dos valores
consecutivos de Xi: xmedio = (xi + xi+1)/2:
c) Calcular E1 = Entropía(Ci1).
d) Calcular E2 = Entropía(Ci2).
Podemos utilizar aquí los conceptos de entropía y entropía asociada en una Podéis ver los conceptos de entropía
y entropía asociada en el subapartado
partición que también mencionamos al hablar de árboles de decisión de forma 2.1 del módulo “Clasificación: árboles
de decisión de esta asignatura.
similar a como hemos definido la entropía de clase al discutir los árboles de
decisión.
k
I X i = – P C i ,X i log 2 P C i ,X i
i=1
X X
I X i x t = --------1- I X 1 + --------2- I X 2
X X
• Dividir los valores del atributo X en un solo punto de corte que haga que
la entropía de las particiones sea mínima.
Es necesario que aclaremos el criterio que se utiliza para definir el final de este
Lecturas
proceso de partición repetida sobre el punto de entropía mínima. Tenemos complementarias
que detenernos en el momento en que tengamos intervalos bastante homogé-
Encontraréis más
neos. ¿Cómo caracterizamos ese momento? información sobre el criterio
de la longitud de la
descripción en las obras
siguientes:
Un criterio muy útil y que da buenos resultados para saber en qué momento
J.R. Quinlan (1989).
hay que detener el proceso de partición es el de minimización de la longitud “Inferring Decision Trees
Using the Minimum
de la descripción. Este concepto muy general puede resumirse diciendo que el Description Length
Principle”. Information and
mejor modelo (M) es, dado un conjunto de datos (D) aquel que minimiza el Computation (núm. 80, vol. 3.
tamaño del modelo (es decir, el que nos da el modelo más compacto) y, simul- pág. 227-248).
M. Rissanen (1985). “The
táneamente, también requiere el mínimo de información (datos) para cons- Minimum Description
truirlo. Esta intuición se formaliza teniendo en cuenta que ambas cosas, el Length Principle”. En:
S. Kotz; N.L. Johnson (ed.).
modelo y los datos, pueden codificarse mediante bits (unidades de informa- Encyclopedia of Statistical
Sciences (vol. 5). Nueva York:
ción). Por lo tanto, ante un modelo y unos datos, se trata de minimizar la lon- John Wiley & Sons.
gitud de la codificación.
Lc(D) + Lc(M|D)
En nuestro caso, el modelo es el punto de corte, los datos, los valores y las clases
asociadas. Queremos comparar el tamaño de codificación del modelo y la can-
tidad de datos que necesitamos para especificarlo. Si no decidimos introducir
una partición en este punto, si mantenemos el intervalo tal como está, entonces
tenemos que describir los datos resultantes utilizando las etiquetas de clase de
cada valor. Si introducimos un punto de corte, entonces tenemos que codificar:
• El valor del punto de corte. Necesitamos log2(N 1) para codificarlo (donde
N es el número de valores que hay).
• Las clases de los valores que hay por debajo del punto de corte.
• Las clases de los valores que hay por encima del punto de corte.
FUOC • PID_00165728 37 Preparación de datos
• La entropía del conjunto que queda por debajo del punto de corte es I1.
• La entropía del conjunto que queda por encima del punto de corte es I2.
Aquí tenemos información sobre el valor del atributo Edad para un conjunto de socios
de Hyper-Gym que pertenecen a la clase 1 o a la clase 2 (a efectos del ejemplo es irrele-
vante, aunque remarcamos que la clase 1 corresponde a los socios que solicitan entrena-
dor personal, y la clase 2, a aquellos que no lo solicitan):
Valores 22 24 28 35 38 42 43 47 49 55
12 2 1
Clase 1 2 2 2 1 1 2
21 2 1
Como podemos ver, hay valores que son menos homogéneos que otros. Por ejemplo,
el 35 acumula dos observaciones de la clase 2 y otras dos de la clase 1.
¿Cuántos lugares posibles puede ocupar el punto de corte? Recordemos que inicialmente
se elige como punto de corte el punto medio entre dos valores consecutivos (xi + x i+1)/2.
Éstos son los siguientes:
Tenemos que ver la calidad de cada uno de ellos. Tenemos que calcular el contenido de
información de los intervalos que generaría cada punto de corte. Por ejemplo, el 23 deja
a su izquierda un único valor de clase 1 y a su derecha, ocho valores de la clase 2 y seis
valores de clase 1. ¿Qué cantidad de información posee esta partición?
1 9
I Edad,23 = ------ I Edad,Edad 1 + ------ I Edad,Edad 2
10 10
Por lo tanto,
1 9
I Edad, 23 = ------ I Edad, Edad 1 + ------ I Edad, Edad 2 = 0,88
10 10
4. Reducción de dimensionalidad
Una vez tenemos los datos en el formato adecuado para el tipo de modelo que
se quiere obtener y el método para construirlo, todavía es posible aplicar una
serie nueva de operaciones con el fin de asegurar dos objetivos: la reducción
del número de atributos por considerar y la reducción del número de casos
que hay que tratar, asegurando, asimismo, que se mantendrá la calidad del
modelo resultante.
Hay algún otro motivo un poco más sutil que vendría a decirnos que no siem-
pre más datos quiere decir que vayamos a tener un mejor modelo. En efecto,
cuando se consideran muchos datos, hay que ajustar el modelo a más casos,
con lo que nos perdemos detalles que pueden ser importantes.
Otros métodos alteran los datos, bien por fusión de atributos, bien por cambio
de valores, de manera que cuesta recuperar los datos originales de cara a futu-
ras interpretaciones.
La selección de atributos...
La reducción del número de atributos consiste en encontrar un subconjun-
to de los atributos originales que permita obtener modelos de la misma ... es un proceso que intenta
seleccionar aquel subconjunto
calidad que los que se obtendrían utilizando todos los atributos. Este pro- de los atributos originales que
mantendrá la calidad de los
blema se denomina problema de la selección óptima de atributos. modelos que se puedan ex-
traer a partir de los datos.
En parte, todo se reduce a saber hasta qué punto determinados valores perte-
necen a la distribución que se corresponde con los datos. Si, por ejemplo, un
atributo concreto no tiene correspondencia con la distribución, podríamos
descartarlo como erróneo o irrelevante. El problema es que no conocemos la
distribución de la población y no podemos hacer este tipo de tratamiento. Só-
lo podemos aproximarnos mediante la estimación de los parámetros corres-
pondientes.
Prueba de significación
var X i1 var X i2
est = ---------------------
- + ----------------------
n1 n2
En caso de tener que comparar más de dos atributos, entonces se puede reite-
rar esta comparación de atributos dos a dos.
Hay que tener en cuenta que la suposición inicial de este tipo de procedimien-
to es que los atributos son independientes entre sí.
FUOC • PID_00165728 42 Preparación de datos
Clase 1 Clase 2
22 23
34 34
23 23
21 56
34 67
23 87
21 56
34 23
65 59
12 77
Obtenemos la diferencia entre medias, 21,6. El valor de est es 8,3, lo cual nos da un valor
de 2,6. Consultando las tablas de significación, podemos comprobar que la diferencia es
significativa y, en principio, parece que el atributo Edad puede ser relevante para discri-
minar entre una clase y la otra.
Puede suceder que determinados atributos sean útiles cuando los considera-
mos de forma aislada, pero dejen de serlo en conjunción con otros. En conse-
cuencia, nos interesa detectar qué agrupaciones de atributos X1, …, Xk son
realmente relevantes y si lo siguen siendo cuando dejamos de considerar uno
o más atributos Xj, 1 < j < k.
Muchas veces un grupo de atributos puede ser sustituido por otro atributo
(perteneciente al conjunto o no) sin alterar en absoluto la calidad del modelo
resultante. Para hacerlo, tenemos que estudiar conjuntamente los grupos de
atributos.
P(X1, …, Xm). Podemos suponer, en tal caso, que esa distribución de probabi-
lidad sigue una distribución normal multivariante.
Una distribución de este tipo puede caracterizarse mediante un vector que re-
coge las medias de todas las variables X y por la matriz de covarianzas de las
medias C, que es una matriz m m.
Cada uno de los elementos cij de la matriz C refleja la relación con los atributos
Xi y Xj según la fórmula siguiente:
1 n
c ij = --- k=1 x ki x i x kj x j , donde:
n
Dada la clase 1, podemos indicar por X c1 el vector que contiene las medias de
todos los atributos calculadas a partir de las observaciones correspondientes a
la clase 1. Indicamos por X c2 el vector correspondiente para la clase 2.
Nuestra intuición nos dice que, si estos dos vectores son muy parecidos entre
sí, entonces el grupo de n atributos que consideramos no es demasiado rele-
vante para discriminar entre una clase y la otra.
FUOC • PID_00165728 44 Preparación de datos
Para establecer la similitud entre los dos vectores podemos recurrir de nuevo
al concepto de distancia, aunque en esta ocasión su expresión ha de tener en
cuenta las características del espacio donde calculamos estas distancias. Así,
extendemos la prueba de significación entre las diversas medias de todos los
atributos simultáneamente. Definimos la distancia siguiente:
–1 T
Dist = X c1 – X c2 C 1 + C 2 X c1 + X c2
donde:
T
X c1 + X c2
el vector invertido del resultado de sumar los vectores de medias para la clase
1 y 2, y:
–1
C1 + C2
Si los atributos son independientes entre sí, entonces todos los elementos que
no se encuentren en la diagonal de la matriz inversa de covarianzas son cero
y los valores de la diagonal son:
1 -
-----------
var xi
para cada atributo Xi. Tenemos que encontrar aquellos atributos para los cua-
les se maximice la distancia, es decir, aquéllos para los que cada uno de los
componentes del vector muestre los valores máximos. Cada componente del
vector de distancias es el valor dado por la expresión:
2
X iC1 – X iC2
-----------------------------------------
var XiCi + var XiCi
donde:
2) Evaluarlos.
En cada paso de la iteración también hay que ver si es necesario eliminar al-
guno de los atributos considerados hasta ese momento porque no aporta la su-
ficiente ganancia. La idea consiste en introducir en cada paso los atributos que
maximicen la calidad y eliminar los que la minimicen. La condición de final
de la iteración es cuando ya no se añade ni elimina ningún atributo, o bien
cuando se ha superado la calidad del conjunto total de n atributos en una pro-
porción lo suficientemente significativa (por ejemplo, entre el 75% y el 95%).
El método de selección de atributos que hemos comentado hasta este punto Ejemplo de selección
es el equivalente a eliminar en la forma tabular de los datos toda una columna; de atributos
Dados n atributos, Xi, ..., Xn, se puede convertir en un atributo nuevo Xn+1
mediante la aplicación de una combinación lineal de pesos a los atributos
X1, …, Xn.
n
Xn + 1 = Xi wi
i=1
donde wi, 1 < i < n es un peso, un factor numérico, que indica en qué grado el
atributo Xi contribuye al nuevo atributo.
D = DP
Para encontrar los pesos de los componentes principales, primero se normali- ¿Qué criterios hay para
seleccionar estas transformaciones?
zan los datos por estandarización. El primer componente principal es la línea
que se ajusta mejor a los datos, algo que podemos medir utilizando la distancia
euclídea mínima:
D eu = Dij – wj D ij
i j
Consenso de muestras
• Sustituir el valor que falta por la media de los valores que presenta el atri-
buto en los datos.
En el caso de las edades de los clientes de Hyper-Gym podríamos encontrar esta situa-
ción:
22 43 31 22 ? 22 45 43 23 88
• Sustituir el valor que falta por la media de los valores que tenemos; en este caso se-
ría 37,3.
• Sustituir el valor que falta por el más frecuente; en este caso sería 22.
Acostumbra a suceder que los casos para los cuales no se ha recogido una ob-
servación reciben algún valor especial, por ejemplo –1 ó 999. Es importante
no tratarlos como un valor numérico más, sino como lo que realmente son:
ausencia de información con respecto a un atributo en un caso observado.
Resumen
Se han descrito las normalizaciones, que llevan los valores sobre un rango es-
tandarizado y comparable, y también las discretizaciones, que reducen el nú-
mero de valores de los atributos partiéndolos en varios intervalos que definen
puntos de corte sobre los que se pueden efectuar comparaciones.
a) Por una parte, el concepto de medida de distancia, que también utiliza- Podéis ver la agregación en el
módulo “Agregación” de esta
asignatura.
mos al hablar de agregación.
b) Por otra parte, la entropía como medida de la homogeneidad de una clase Podéis ver los árboles de decisión
en el módulo “Clasificación: árboles
(que volvemos a encontrar cuando hablamos de árboles de decisión). de decisión” de la presente asignatura.
Actividades
Lectura recomendada
1. Comparad los distintos métodos de discretización que ofrecen los sistemas:
• WEKA Encontraréis el artículo
• SIPINA original de Fayyad e Irani
• Cviz en la obra siguiente:
¿Qué limitaciones imponen? U.M. Fayyad; K.B. Irani
(1993). “Multi-interval
2. Consultad el artículo original de Fayyad e Irani para ver cómo se desarrolla la prueba de Discretization of Continous
Valued Attributes for
que el criterio MDL es apropiado para dar una condición de final a la discretización por en-
Classification Learning”.
tropía de clase. Proceedings of the 13th
International Joint Conference
3. Con respecto a la primera propuesta de proyecto que habíais efectuado en las actividades on Artificial Intelligence
del módulo anterior: (pág. 1022-1027).
a) Estudiad qué necesidades de transformación de datos podrían darse.
b) Estudiad qué necesidades de discretización podrían darse.
c) Aportad al foro algún conjunto de datos que necesitéis para llevar a cabo el proyecto, y
Podéis ver la actividad 1 del módulo
comentad qué métodos de normalización y discretización aplicaríais. “El proceso de descubrimiento
d) ¿Habéis encontrado algún atributo irrelevante? de conocimiento” de esta asignatura.
Ejercicios de autoevaluación
1. Clasificad los tipos de variables siguientes en continuas, ordinales, discretas o nominales:
a) Horario de Hyper-Gym
b) Renta de los socios de Hyper-Gym
c) Sexo de los socios de Hyper-Gym
d) Profesión de los socios de Hyper-Gym
e) Día de la semana
f) Años de pertenencia al club
2. Normalizad, si podéis, por el máximo, por diferencia y por escala decimal los valores si-
guientes:
a) Valores de X: –999; 985,34; 234,06 y 2.002,999, donde X puede tomar valores reales entre
1.000 y 2.003 bajo el 1.000.
b) Valores de X: 1; 224; 30.000 y 154, donde X puede adoptar valores enteros entre 0 y
150.000. Tenéis que conseguir que los valores resultantes estén entre –1 y 1.
c) Valores de la variable X que recoge valores enteros correspondientes a las rentas de los
miembros del club Hyper-Gym. El valor mínimo que puede tomar es 0, y el valor máximo,
10.000.000. El rango final tiene que encontrarse entre 0 y 1 (valores reales).
Variable 1 Variable 2
6.000.000,0 40,0
0,0 30,0
0,0 32,0
0,0 32,0
4.000.000,0 30,0
1.200.000,0 55,0
0,0 32,0
3.500.000,0 40,0
2.500.000,0 60,0
4.000.000,0 41,0
FUOC • PID_00165728 54 Preparación de datos
Variable 1 Variable 2
3.500.000,0 36,0
1.800.000,0 59,0
3.200.000,0 33,0
5.000.000,0 34,0
4.000.000,0 34,0
3. Discretizad este conjunto de datos, que es una muestra de la base de datos IRIS del reposi- Encontraréis los datos utilizados en
torio de la UCI: este ejemplo en la dirección siguiente:
http://www.gmd.de/mlarchive/frames/
datasets/datasets-frames.html
Longitud Anchura Longitud Anchura
Clase
del sépalo del sépalo del pétalo del pétalo
Iris-setosa 5,1 3,5 1,4 0,2
5. Dados los datos siguientes, determinad los atributos relevantes. Estos datos proceden de
una simplificación de la calificación por barrios de la ciudad de Boston, en Estados Unidos,
que intenta relacionar varios factores del barrio donde se reside con el nivel de renta alcan-
zado por una persona.
Nivel de Número
Nivel de Índice de Ocupación óxido nítrico de habitantes Nivel de
renta (clase) criminalidad industrial escolarización
en el aire por vivienda
6. Con los mismos datos del ejercicio anterior, comprobad la relevancia de los atributos dos
a dos.
Bibliografía
Anderberg, M. (1973). “Cluster Analysis for Applications”. Academic Press.
Catlett, J. (1991). “On Changing Continuous Attributes into Ordered Discrete Attributes”.
En: Kodratoff, Y. (ed.). Proceedings of the European Working Session on Learning: Machine Learning
(págs. 164-178). Springer Verlag.
Dougherty, J.; Kohavi, R.; Sahami, M. (1995). “Supervised and Unsupervised Discretizations
of Continuous Features” (págs. 194-202). Proceedings of the 12th International Conference on
Machine Learning. Morgan Kaufmann Publishers.
Huan Liu, H.; Motoda, H. (1998). Feature Selection for Knowledge Discovery and Data Mining.
Boston: Kluwer Academic Publishers.
Lebart, L.; Morineau, A.; Fenelon, J.P. (1985). Tratamiento estadístico de datos. Barcelona:
Marcombo.
Martín, J.R. (1999). Discretització de variables contínues i la seva aplicació. Proyecto de Final
de Carrera, Ingeniería en Informática. Departamento de Lenguajes y Sistemas Informáticos.
Barcelona: Facultad de Informática de Barcelona, Universidad Politécnica de Cataluña.
Pyle, D. (1999). Data Preparation For Data Mining. Morgan Kaufmann Publishers.
Quinlan, J.R. (1989). “Inferring Decision Trees Using the Minimum Description Length
Principle”. Information and Computation (núm. 80, vol. 3, págs. 227-248).
FUOC • PID_00165728 56 Preparación de datos
Rissanen, M. (1985). “The Minimum Description Length Principle”. A: Kotz, S.; Johnson,
N.L. (eds.). Encyclopedia of Statistical Sciences (vol. 5.). Nueva York: John Wiley & Sons.
Simoudis, E.; Fayyad, U.M. (1997). “Data Mining Tutorial”. First International Conference
on the Practical Applications fo Knowledge Discovery in Data Bases (marzo). Londres.
Valdés, J.J. (1997). “Fuzzy Clustering and Multidimensional Signal Processing in Enviromental
Studies”. Proceedings of the 5th European Congress on Intelligent Techniques and Soft Computing.
Aache (Alemania).