Académique Documents
Professionnel Documents
Culture Documents
1. INTRODUCCIN
En este trabajo se van ha emplear algunas de las tcnicas de Minera de Datos aprendidas
durante el transcurso de la asignatura Inteligencia en Redes de Comunicaciones.
Concretamente se modelarn dos problemas, uno de tipo nominal y otro de tipo numrico,
por medio de la herramienta WEKA, empleando dos tcnicas distintas para cada uno de ellos.
1. cap-shape: bell=b,conical=c,convex=x,flat=f,knobbed=k,sunken=s
2. cap-surface: fibrous=f,grooves=g,scaly=y,smooth=s
3. cap-color:
brown=n,buff=b,cinnamon=c,gray=g,green=r,pink=p,purple=u,red=e,white
=w,yellow=y
4. bruises?: bruises=t,no=f
5. odor:
almond=a,anise=l,creosote=c,fishy=y,foul=f,musty=m,none=n,pungent=p,
spicy=s
6. gill-attachment: attached=a,descending=d,free=f,notched=n
7. gill-spacing: close=c,crowded=w,distant=d
8. gill-size: broad=b,narrow=n
9. gill-color:
black=k,brown=n,buff=b,chocolate=h,gray=g,green=r,orange=o,pink=p,pu
rple=u,red=e,white=w,yellow=y
10. stalk-shape: enlarging=e,tapering=t
11. stalk-root:
bulbous=b,club=c,cup=u,equal=e,rhizomorphs=z,rooted=r,missing=?
12. stalk-surface-above-ring: ibrous=f,scaly=y,silky=k,smooth=s
13. stalk-surface-below-ring: ibrous=f,scaly=y,silky=k,smooth=s
14. stalk-color-above-ring:
brown=n,buff=b,cinnamon=c,gray=g,orange=o,pink=p,red=e,white=w,yello
w=y
15. stalk-color-below-ring:
brown=n,buff=b,cinnamon=c,gray=g,orange=o,pink=p,red=e,white=w,yello
w=y
16. veil-type: partial=p,universal=u
17. veil-color: brown=n,orange=o,white=w,yellow=y
18. ring-number: none=n,one=o,two=t
19. ring-type:
cobwebby=c,evanescent=e,flaring=f,large=l,none=n,pendant=p,sheathing
=s,zone=z
20. spore-print-color:
black=k,brown=n,buff=b,chocolate=h,green=r,orange=o,purple=u,white=w
,yellow=y
21. population:
abundant=a,clustered=c,numerous=n,scattered=s,several=v,solitary=y
22. habitat:
grasses=g,leaves=l,meadows=m,paths=p,urban=u,waste=w,woods=d
Se trata de decidir que seta es comestible y cual no. En la siguiente figura mostramos los
histogramas correspondientes a cada uno de estos atributos para el conjunto de datos que
disponemos.
1
Inteligencia en Redes de Comunicaciones Practica Final: Minera de Datos
Para modelar este problema nominal utilizamos los dos siguientes algoritmos siguientes:
A continuacin describiremos los dos algoritmos utilizados, con objeto de plantear las
estrategias de entrenamiento y el anlisis de los resultados.
2.1.1 Clasificador 1R
La mayor parte de las veces las reglas simples dan unos resultados asombrosamente
buenos en la mayora de las bases de datos. El clasificador 1R genera reglas que clasifican un
objeto en base a un nico atributo, esto es, consiste en un rbol de un nivel. Adems, este
clasificador se puede emplear para determinar lo bien que funcionan otros clasificadores ms
complejos.
numricos, los trata como si fueran valores numricos continuos y usa un mtodo sencillo para
agrupar esos valores en un conjunto de intervalos. Para evitar el sobreajuste de las muestras, es
decir, la generacin de demasiados intervalos, el algoritmo 1R requiere que todos los intervalos
contengan ms de un determinado nmero mnimo de muestras (por defecto 6). En el caso de
atributos nominales que no cumplan ese criterio (situacin bastante infrecuente) el algoritmo
elimina dichos atributos.
Para elegir que atributos y en que orden aparecen en el rbol se utiliza la funcin de
minimizacin de la entropa. De esta forma en cada iteracin se elige el atributo que mejor
clasifique por si solo.
Definiciones:
R: conjunto de los atributos
C: clase
S: conjunto de entrenamiento
Algoritmo:
1. Sea D el atributo con mayor ganancia Gain(D,S) entre los atributos
de R
2. Sea {dj | j=1,2,3,...,m} los valores del atributo D
3. Sea {sj | j=1,2,3,...,m} los subconjuntos de S que contienen el
valor dj para el atributo D
4. Devolver un subrbol con nodo etiquetado D y los arcos d1,d2,...,dm
5. Para cada rama volver a 1 con ID3(R-{D},C,S1), ID3(R-{D},C,S2),...
3
Inteligencia en Redes de Comunicaciones Practica Final: Minera de Datos
2.2.1 Clasificador 1R
Scheme: weka.classifiers.rules.OneR -B 6
Relation: mushroom
Instances: 8124
Attributes: 23
cap-shape
cap-surface
cap-color
bruises?
odor
gill-attachment
gill-spacing
gill-size
gill-color
stalk-shape
stalk-root
stalk-surface-above-ring
stalk-surface-below-ring
stalk-color-above-ring
stalk-color-below-ring
veil-type
veil-color
ring-number
ring-type
spore-print-color
population
habitat
class
Test mode: 10-fold cross-validation
odor:
a -> e
c -> p
f -> p
l -> e
m -> p
n -> e
p -> p
s -> p
y -> p
(8004/8124 instances correct)
4
Inteligencia en Redes de Comunicaciones Practica Final: Minera de Datos
a b <-- classified as
4208 0 | a = e
120 3796 | b = p
Cuando intentamos ejecutar el algoritmo ID3 con los datos de entrada nos encontramos con
que el programa WEKA muestra un mensaje de error indicndonos que nuestros datos contienen
valores indefinidos para algunos datos.
El algoritmo C4.5 presenta una serie de opciones. Puesto que pretendemos estudiar el
algoritmo ID3, elegiremos la opcin que deshabilita el podado del rbol. Al ejecutar el algoritmo
observamos los siguientes resultados.
Scheme: weka.classifiers.trees.j48.J48 -U -M 2
Relation: mushroom
Instances: 8124
Attributes: 23
cap-shape
cap-surface
cap-color
bruises?
odor
gill-attachment
gill-spacing
5
Inteligencia en Redes de Comunicaciones Practica Final: Minera de Datos
gill-size
gill-color
stalk-shape
stalk-root
stalk-surface-above-ring
stalk-surface-below-ring
stalk-color-above-ring
stalk-color-below-ring
veil-type
veil-color
ring-number
ring-type
spore-print-color
population
habitat
class
Test mode: 10-fold cross-validation
odor = a: e (400.0)
odor = c: p (192.0)
odor = f: p (2160.0)
odor = l: e (400.0)
odor = m: p (36.0)
odor = n
| spore-print-color = b: e (48.0)
| spore-print-color = h: e (48.0)
| spore-print-color = k: e (1296.0)
| spore-print-color = n: e (1344.0)
| spore-print-color = o: e (48.0)
| spore-print-color = r: p (72.0)
| spore-print-color = u: e (0.0)
| spore-print-color = w
| | gill-size = b: e (528.0)
| | gill-size = n
| | | gill-spacing = c: p (32.0)
| | | gill-spacing = d: e (0.0)
| | | gill-spacing = w
| | | | population = a: e (0.0)
| | | | population = c: p (16.0)
| | | | population = n: e (0.0)
| | | | population = s: e (0.0)
| | | | population = v: e (48.0)
| | | | population = y: e (0.0)
| spore-print-color = y: e (48.0)
odor = p: p (256.0)
odor = s: p (576.0)
odor = y: p (576.0)
Number of Leaves : 25
a b <-- classified as
4208 0 | a = e
0 3916 | b = p
De los datos mostrados por WEKA podemos sacar la conclusin de que hay atributos que no
ofrecen ninguna informacin al clasificador. As pues, si del fichero original eliminamos todos
los atributos menos odor, gill-spacing, gill-size, spore-print-color y population, y ejecutamos el
algoritmo ID3 sobre ese conjunto de datos cabe suponer que se obtendrn los mismos resultados.
Esto se puede apreciar en la salida generada por WEKA para este caso.
Scheme: weka.classifiers.trees.Id3
Relation: mushroom
Instances: 8124
Attributes: 6
odor
gill-spacing
gill-size
spore-print-color
population
class
Test mode: 10-fold cross-validation
Id3
odor = a: e
odor = c: p
odor = f: p
odor = l: e
odor = m: p
odor = n
| spore-print-color = b: e
| spore-print-color = h: e
| spore-print-color = k: e
| spore-print-color = n: e
| spore-print-color = o: e
| spore-print-color = r: p
| spore-print-color = u: null
| spore-print-color = w
| | gill-size = b: e
7
Inteligencia en Redes de Comunicaciones Practica Final: Minera de Datos
| | gill-size = n
| | | gill-spacing = c: p
| | | gill-spacing = d: null
| | | gill-spacing = w
| | | | population = a: null
| | | | population = c: p
| | | | population = n: null
| | | | population = s: null
| | | | population = v: e
| | | | population = y: null
| spore-print-color = y: e
odor = p: p
odor = s: p
odor = y: p
a b <-- classified as
4208 0 | a = e
0 3916 | b = p
2.3.1 Clasificador 1R
Como se puede apreciar en la salida de WEKA el algoritmo clasifica segn el atributo odor,
clasificando bien 8004 instancias de las 8124 de que consta el conjunto de datos.
odor:
a -> e
c -> p
f -> p
l -> e
m -> p
n -> e
p -> p
s -> p
y -> p
8
Inteligencia en Redes de Comunicaciones Practica Final: Minera de Datos
(8004/8124 instances correct)
Si se aplica validacin cruzada se observa que en promedio el 1.48 % de las instancias estn
mal clasificadas.
Como hemos comentado anteriormente el rbol generado por el algoritmo ID3 es el mismo
que el generado por el algoritmo C4.5. Esto se debe a que es posible clasificar correctamente
todas las instancias sin la necesidad de emplear todos los atributos. A continuacin mostramos el
rbol generado.
Id3
odor = a: e
odor = c: p
odor = f: p
odor = l: e
odor = m: p
odor = n
| spore-print-color = b: e
| spore-print-color = h: e
| spore-print-color = k: e
| spore-print-color = n: e
| spore-print-color = o: e
| spore-print-color = r: p
| spore-print-color = u: null
| spore-print-color = w
| | gill-size = b: e
| | gill-size = n
| | | gill-spacing = c: p
| | | gill-spacing = d: null
| | | gill-spacing = w
| | | | population = a: null
| | | | population = c: p
| | | | population = n: null
| | | | population = s: null
| | | | population = v: e
| | | | population = y: null
| spore-print-color = y: e
odor = p: p
odor = s: p
odor = y: p
9
Inteligencia en Redes de Comunicaciones Practica Final: Minera de Datos
No habr por tanto instancias mal clasificadas al aplicar validacin cruzada, tal como se
aprecia en la salida dada por WEKA.
2.3.3 Conclusiones
Dada la naturaleza de nuestro conjunto de muestras podemos clasificar las muestras con un
rbol de decisin relativamente sencillo. Adems, se aprecia que es un buen clasificador en el
sentido que tiene una gran precisin a la vez que no presenta problemas de sobreajuste.
Tambin, podemos observar que el algoritmo 1R clasifica bastante bien las muestras, y lo
que es aun ms interesante las clasifica de acuerdo al atributo odor, que corresponde con el nodo
padre del rbol generado por ID3, lo que nos da una idea de que nuestro clasificador tiene un
buen comportamiento.
El objetivo del estudio es modelar el nmero de puntos por minuto a partir del resto de
atributos. En la siguiente figura mostramos los histogramas correspondientes a cada uno de estos
atributos para el conjunto de 96 datos que disponemos, junto con la media y la desviacin tpica.
10
Inteligencia en Redes de Comunicaciones Practica Final: Minera de Datos
Para modelar este problema numrico utilizamos los dos siguientes algoritmos siguientes:
A continuacin describiremos los dos algoritmos utilizados, con objeto de plantear las
estrategias de entrenamiento y el anlisis de los resultados.
11
Inteligencia en Redes de Comunicaciones Practica Final: Minera de Datos
Scheme: weka.classifiers.rules.DecisionTable -X 10 -S 5 -R
Relation: baskball
Instances: 96
Attributes: 5
assists_per_minute
height
time_played
age
points_per_minute
Test mode: evaluate on training data
=== Classifier model (full training set) ===
Decision Table:
Rules:
===============================================
time_played points_per_minute
===============================================
'(-inf-13.143]' 0.3467571428571428
'(13.143-16.206]' 0.29003749999999995
'(16.206-19.269]' 0.3773363636363637
'(19.269-22.332]' 0.43248333333333333
'(22.332-25.395]' 0.33512222222222227
'(25.395-28.458]' 0.4279875000000001
'(28.458-31.521]' 0.4610000000000001
12
Inteligencia en Redes de Comunicaciones Practica Final: Minera de Datos
'(31.521-34.584]' 0.477025
'(34.584-37.647]' 0.47199285714285705
'(37.647-inf)' 0.5424857142857143
===============================================
Para el entrenamiento de la tcnica de Regresin Lineal es posible utilizar tres tcnicas para
seleccionar los atributos que conforman la expresin que permite la regresin. La primera opcin
que contemplamos es incluir todos los atributos en la frmula (opcin S 1), la segunda que
usamos fue el modelo de bsqueda avariciosa (greedy forward selection, opcin S 2) y la
tercera la opcin por defecto, con el modelo M5. Se obtuvieron los mejores resultados en cuanto
a error cuadrtico medio con el modelo M5, as que este fue el que seleccionamos. Tambin es
posible variar el modelo de salida, teniendo modelo en rbol (opcin O m), rbol de regresin
(opcin O r) y regresin lineal simple (opcin O l), que fue la que utilizamos por mayor
sencillez. A continuacin mostramos los resultados obtenidos con el entrenamiento seleccionado.
13
Inteligencia en Redes de Comunicaciones Practica Final: Minera de Datos
A continuacin mostramos los resultados obtenidos con los parmetros seleccionados para la
tcnica de tabla de decisin. Para ello, utilizamos la validacin cruzada de 10 clases (10-fold
cross-validation). Adems, incluimos las reglas que el algoritmo gener.
Rules:
===============================================
time_played points_per_minute
===============================================
'(-inf-13.143]' 0.3467571428571428
'(13.143-16.206]' 0.2900375
'(16.206-19.269]' 0.3773363636363636
'(19.269-22.332]' 0.43248333333333333
'(22.332-25.395]' 0.33512222222222227
'(25.395-28.458]' 0.4279875000000001
'(28.458-31.521]' 0.4610000000000001
'(31.521-34.584]' 0.477025
'(34.584-37.647]' 0.471992857142857
'(37.647-inf)' 0.5424857142857143
===============================================
A continuacin mostramos una figura con los resultados para los 96 datos de nuestro
ejemplo. Cada aspa representa un dato, indicando el valor absoluto del error para cada dato en
funcin del tamao de cada aspa, de forma que cuanto mayor es el aspa, mayor es el error
cometido.
14
Inteligencia en Redes de Comunicaciones Practica Final: Minera de Datos
Figura 2. Prediccin del nmero de puntos por minuto con Tabla de Decisin
A continuacin mostramos los resultados obtenidos con los parmetros seleccionados para la
tcnica de Regresin Lineal. Para ello, utilizamos la validacin cruzada (cross-validation).
Adems, incluimos las frmula de regresin que el algoritmo gener.
A continuacin mostramos una figura con los resultados para los 96 datos de nuestro
ejemplo. Al igual que antes, cada aspa representa un dato, dando nocin del valor absoluto del
error para cada dato en funcin del tamao de cada aspa, de forma que cuanto mayor es el aspa,
mayor es el error cometido.
Figura 2. Prediccin del nmero de puntos por minuto con Regresin Lineal
15
Inteligencia en Redes de Comunicaciones Practica Final: Minera de Datos
3.3.3 Conclusiones
En primer lugar vemos que los resultados obtenidos en cuanto al error son mejores con la
tcnica de Regresin Lineal, ya que la raz cuadrada del error cuadrtico medio (que
denotaremos por e ) es inferior: e RL = 0.0859 y e TD = 0.0911 . Esto era de esperar, ya que
mientras que la utilidad de la tcnica de Regresin lineal ha sido ampliamente probada para
tareas de este tipo, la tcnica de Tabla de Decisin no se suele usar. Adems, vemos que para la
frmula de regresin se han utilizado dos atributos (asistencias por minuto y tiempo jugado),
mientras que en la Tabla de Decisin slo se ha utilizado uno (tiempo jugado).
Sin embargo, los resultados no difieren demasiado. Esto puede ser debido, entre otras cosas, a
que el nmero de instancias de partida es reducido (96 datos), lo que limita la potencia expresiva
de los algoritmos.
4. BIBLIOGRAFA Y REFERENCIAS
Apuntes de la asignatura Inteligencia en Redes de Comunicaciones
Artculo Very simple classification rules perform well on most commonly used datasets,
R.C. Holte
Tutorial de WEKA
http://citeseer.nj.nec.com/cs
http://www.cems.uwe.ac.uk/~jharney/table.html
http://www.cs.utsa.edu/~bylander/cs6973/ weka/data/numeric/?C=N&O=D
16