La siguiente tabla se compone de datos de entrenamiento de una base de datos de los empleados. Los
datos han sido generalizados. Por ejemplo, "31-35" para la edad representa el rango de edad de 31 a 35.
Para una entrada de fila dada, representa el nmero de tuplas de datos que tienen los valores de
departamento, estado, edad y salario dado en esa fila.
department
sales
sales
sales
systems
systems
systems
systems
marketing
marketing
secretary
secretary
status
senior
junior
junior
junior
senior
junior
senior
senior
junior
senior
junior
age
31-35
26-30
31-35
21-25
31-35
26-30
41-45
36-40
31-35
46-50
26-30
salary
46K-50K
26K-30K
31K-35K
46K-50K
66K-70K
46K-50K
66K-70K
46K-50K
41K-45K
36K-40K
26K-30K
count
30
40
40
20
5
3
3
10
4
4
6
1) Usando weka,
a. Construir el rbol usando id3, j48 y random forest. Compare los resultados
b. Bayes net
c. Multilayer perceptron
d. LibSVM, pruebe con 4 diferentes tipos de kernel. Compare los resultados.
e.
2) Otro mtodo para solucionar las redes bayesianas es el de Belief propagation, tambien conocido
como sum-product message passing. Describa en brevemente en que consiste.
3) Hacer el ejercicio 9.1 del libro
Solucin
Id3
Id3
165
100
165
senior
junior
Weighted Avg. 1
a b <-- classified as
52 0 | a = senior
0 113 | b = junior
J48
=== Classifier model (full training set) ===
------------------
Number of Leaves :
10
12
165
100
165
senior
junior
Weighted Avg. 1
a b <-- classified as
52 0 | a = senior
0 113 | b = junior
random forest
=== Classifier model (full training set) ===
165
100
%
%
0.0029
0.0199
0.6805 %
4.2893 %
165
senior
junior
Weighted Avg. 1
a b <-- classified as
52 0 | a = senior
0 113 | b = junior
.
El algoritmo id3 y j48 muestra un conteo de la relacin entre las tuplas mostradas
anteriormente.
J48 nos muestra el nmero de hojas que posee el rbol y el tamao de este. Lo que no hace el
algoritmo id3.
Ambos mtodos muestran un porcentaje de error nulo.
El algoritmo j48 es ms preciso que el algoritmo randomForest debido a las diferencias de los
porcentajes de errores que muestra cada mtodo.
b. Bayes Net
=== Classifier model (full training set) ===
161
97.5758 %
2.4242 %
0.945
0.0273
0.0912
6.3016 %
19.6156 %
165
0.035
0
0.929
1
0.963
senior
0.965
0.982
junior
0.011
0.977
0.976
0.976
a b <-- classified as
52 0 | a = senior
4 109 | b = junior
c. Multilayer perceptron
=== Classifier model (full training set) ===
Sigmoid Node 0
Inputs Weights
Threshold 2.7394370243645954
Node 2 -1.8508751465691542
Node 3 -2.354821458534509
Node 4 -1.4870386211949875
Node 5 -1.3229943341191277
Node 6 1.5278889125307347
Node 7 -2.2131181020972868
Node 8 -0.5914245531409845
Node 9 -2.0587896015776685
Node 10 2.270779949723552
Sigmoid Node 1
Inputs Weights
Threshold -2.7825884536066616
Node 2 1.85191579937515
Node 3 2.323626175638421
Node 4 1.477966841443966
Node 5 1.304880433881045
Node 6 -1.4594876918432313
Node 7 2.232715726449767
Node 8 0.6801335831028799
Node 9 2.051171802934638
Node 10 -2.297941872862322
Sigmoid Node 2
Inputs Weights
Threshold -0.07755042992069021
Attrib department=sales 0.22690884175757925
Attrib department=systems 0.1545650553116968
Attrib department=marketing -0.028916340821306043
Attrib department=secretary -0.2113862149709065
Attrib age=31-35 -0.02750617633512445
Attrib age=26-30 0.7708789960391705
Attrib age=21-25 0.9031969460307472
Attrib age=41-45 -0.24524874175681483
Attrib age=36-40 -0.9372910085639369
Attrib age=46-50 -0.3173972567786108
Mediante este algoritmo podemos observar cada uno de los nodos con cada uno de sus
atributos y los pesos que corresponde a cada nodo.
125
75.7576 %
40
24.2424 %
0.3429
0.2424
0.4924
56.0304 %
105.9548 %
75.7576 %
50
165
0,346 0,474
0,386 0,647
0,466
senior
0,947 0,843
0,386 0,647
0,755
junior
0,758 0,726
0,386 0,647
a b <-- classified as
18 34 | a = senior
6 107 | b = junior
LibSVM Tipo de Kernel : Polinomial
=== Classifier model (full training set) ===
132
80
33
20
0.4409
0.2
0.4472
0,664
46.2251 %
96.2382 %
80
50
165
0,365 0,535
0,532 0,683
0,565
senior
1,000 0,873
0,532 0,683
0,774
junior
0,800 0,766
0,532 0,683
a b <-- classified as
19 33 | a = senior
0 113 | b = junior
LibSVM tipo de Kernel: Funcion Radial
=== Classifier model (full training set) ===
0,708
165
100
%
%
0
0
100
50
165
1,000 1,000
1,000 1,000
1,000
senior
1,000 1,000
1,000 1,000
1,000
junior
a b <-- classified as
52 0 | a = senior
1,000 1,000
1,000 1,000
1,000
0 113 | b = junior
LibSVM tipo de Kernel: Sigmoid
=== Classifier model (full training set) ===
143
86.6667 %
22
13.3333 %
0.6513
0.1333
0.3651
30.8167 %
78.5782 %
86.6667 %
50
165
0,577 0,732
0,695 0,788
0,710
senior
1,000 0,911
0,695 0,788
0,837
junior
0,867 0,855
0,695 0,788
0,797
a b <-- classified as
30 22 | a = senior
0 113 | b = junior
Este tipo de algoritmo nos presenta el numero correcto de instancias que se clasificaron y las
que no se clasificaron correctamente con sus respectivos porcentajes, nos muestra un error
relativo, una cobertura de los casos y su porcentaje, la raz del error cuadrado y su error relativo.
Se hace una tabla de valores con los detalles de la precisin por clase, con valores como tasa TP,
tasa FP, Precisin, re-llamado, medida F, MCC con valores que varan entre 0 y 1.
Con cada tipo de kernel diferente el nmero de instancias correctas que se clasifican correcta e
incorrectamente cambia por tal razn varan todos los datos y porcentajes.
Con el kernel de funcin de Base Radial el procentaje de instancias clasificadas
incorrectamente fue 0 por tal razn los porcentajes de error, y la raz del error cuadrado es 0 y
la tada TP esta en 1, tada FP 1, precisin 1, recall 1, medida F 1 y MCC 1.
2.
Belief propagation
Es un algoritmo para realizar inferencias en modelos grficos, como redes bayesianas y los campos
aleatorios de Markov . Calculando la distribucin marginal de cada nodo. Es utilizado en la
inteligencia artificial y teora de la informacin, se ha demostrado que es un algoritmo til en
aproximada de grficos generales.