Documentos de Académico
Documentos de Profesional
Documentos de Cultura
de Ciencias de la Computacin
Resumen
1.
Introduccin
ellos en los que se aplican tcnicas de clustering para segmentar un conjunto de proyectos
software, y sobre stos aplicar modelos matemticos de estimacin, cosa que hasta ahora
no se haba experimentado. Estos artculos son
los de J. Cuadrado et al. [4, 5] y los de M. Garre et al. [1, 2, 3]. En estos trabajos se obtienen una serie de grupos de proyectos, a partir
de la base de proyectos ISBSG versin 8 (Internacional Software Benchmarking Standard
Group1 ), y sobre cada uno de ellos se aplica un
modelo matemtico multiplicativo de la forma
e = asb , donde e es el esfuerzo estimado y s
alguna medida del tamao del proyecto. Las
constantes a y b se obtienen mediante anlisis
de regresin sobre los proyectos de cada grupo.
Los resultados obtenidos (respecto a MMRE
y PRED(.3)), como se muestra en los trabajos
anteriormente mencionados, mejoran los que
se consiguen al utilizar una nica ecuacin para todos los proyectos.
Tras comprobar la bondad de estas tcnicas en el proceso de estimacin de costo software, es necesario realizar una comparativa
de diferentes algoritmos de clustering, con la
intencin de ver cal o cales de ellos se comportan de forma ms efectiva para realizar dicha estimacin. Se compararn tres de estos
algoritmos, COBWEB, k-medias y EM (utilizado en [4, 5, 1, 2, 3]), ofreciendo los resultados obtenidos. El resto del artculo se estructura de la siguiente forma: en la seccin 2 se
realizar una definicin de la metodologa de
clustering, se mostrar una clasificacin de los
diferentes algoritmos de clustering, as como
una descripcin de los algoritmos COBWEB,
EM y k-medas. En la seccin 3 se aplican estos
algoritmos a la base de datos ISBSG y se comparan los resultados ofrecidos por los mismos.
Finalmente en la seccin 4 aparecen las conclusiones obtenidas a partir de la comparativa
realizada.
2.
Clustering
http://www.isbsg.org/
los
k-vecinos
(k-
Clustering Subespacial
Tcnicas de Co-Clustering
A continuacin veremos ms en detalle los
que sern utilizados en este trabajo.
2.1.
COBWEB
Se trata de un algoritmo de clustering jerrquico. COBWEB [23], se caracteriza porque utiliza aprendizaje incremental, esto es, realiza las
agrupaciones instancia a instancia. Durante la
ejecucin del algoritmo se forma un rbol (rbol de clasificacin) donde las hojas representan los segmentos y el nodo raz engloba por
completo el conjunto de datos de entrada. Al
principio, el rbol consiste en un nico nodo
raz. Las instancias se van aadiendo una a
una y el rbol se va actualizando en cada paso.
La actualizacin consiste en encontrar el mejor sitio donde incluir la nueva instancia, operacin que puede necesitar de la reestructuracin de todo el rbol (incluyendo la generacin
de un nuevo nodo anfitrin para la instancia
y/o la fusin/particin de nodos existentes) o
simplemente la inclusin de la instancia en un
nodo que ya exista. La clave para saber cmo y dnde se debe actualizar el rbol la proporciona una medida denominada utilidad de
categora, que mide la calidad general de una
particin de instancias en un segmento. La reestructuracin que mayor utilidad de categora
proporcione es la que se adopta en ese paso. El
algoritmo es muy sensible a otros dos parmetros:
EM
NC
X
j=1
j p(x; j ) con
NC
X
j = 1
(1)
j=1
donde j son las probabilidades a priori de cada cluster cuya suma debe ser 1, que tambin
forman parte de la solucin buscada, P (x) denota la FDP arbitraria y p(x; j ) la funcin
2
http://www.cs.waikato.ac.nz/ml/weka/
NI
Y
P (xn )
(2)
n=1
normal.
La implementacin utilizada no es la de Weka, ya que la implementacin que lleva a cabo del algoritmo EM lleva asociada la premisa
de la independencia de los atributos utilizados,
nada ms lejos de la realidad existente entre el
esfuerzo y los puntos de funcin. Por lo tanto
se ha desarrollado una implementacin de EM
en lenguaje C que se adapta mucho mejor a
las caractersticas del problema de estimacin
de coste software. Para una mayor descripcin
de la misma se puede consultar [3].
2.3.
K-medias
3.
Caso de Estudio
Para realizar el estudio de los diferentes algoritmos de clustering, primero es preciso realizar un filtrado de los proyectos de la base de
datos ISBSG, que ser utilizada. Esto se har
en la seccin 3.1. Una vez preparados los datos, se aplican los algoritmos COBWEB, EM y
k-medias, sobre los mismos, obtenindose unos
resultdos que se ofrecen en la seccin 3.2. La
comparacin de estos resultados se ver en la
seccin 3.3.
3.1.
Otro aspecto a tener en cuenta para la limpieza de los datos es la forma en la que se
obtuvieron los diferentes valores de los puntos
de funcin. En concreto se examin el valor del
atributo Derived count approach, descartando todos los proyectos que no hubiesen utilizado como forma de estimar los puntos de funcin mtodos como IFPUG, NESMA, Albretch o Dreger. Las diferencias entre los mtodos
IFPUG y NESMA tienen un impacto despreciable sobre los resultados de los valores de los
puntos de funcin [29]. Las mediciones basadas en las tcnicas Albretch no se eliminaron
ya que, de hecho IFPUG es una revisin de
estas tcnicas. De la misma forma el mtodo
Dreger [30] es simplemente una gua sobre las
mediciones IFPUG. Por ltimo se procede a
la eliminacin de los proyectos con valores nulos para el atributo tiempo (Project Elapsed
Time). Finalmente el estudio se realiza sobre
una base de datos de 1569 proyectos.
3.2.
COBWEB
No Proyectos
a
b
MMRE
PRED(.3)
Cluster 1
1479
26.52
0.7899
133.56 %
23.56 %
3.2.2.
EM
No Proyectos
Probabilidad
Media e
Media fp
Desv Stand e
Desv Stand fp
Coef Cor e-fp
a
b
MMRE
PRED(.3)
CLUS 1
74
0.046
284.68
48.24
128.96
20.46
0.5931
36.6
0.5012
64.88 %
56.75 %
CLUS 2
249
0.1569
616.15
95.95
309.55
39.27
-0.2218
2829
-0.3794
74.23 %
46.37 %
CLUS 3
311
0.2655
0.179
175.26
594.94
76.67
-05015
34640
-0.675
41.54 %
53.69 %
No Proyectos
Probabilidad
Media e
Media fp
Desv Stand e
Desv Stand fp
Coef Cor e-fp
a
b
MMRE
PRED(.3)
CLUS 4
343
0.2022
2367.9
278.8
1063.23
128.86
-0.5213
41730
-0.5351
39.46 %
59.18 %
CLUS 5
161
0.1198
3072
714.9
1590.45
302.13
-0.1
44890
-0.4322
71.47 %
41.61 %
CLUS 6
170
0.1173
6679.83
317.82
2490.04
141.02
0.3625
2500
0.1781
22.14 %
69.41 %
3.2.3.
K-medias
No Proyectos
Probabilidad
Media e
Media fp
Desv Stand e
Desv Stand fp
Coef Cor e-fp
a
b
MMRE
PRED(.3)
CLUS 7
CLUS 8
CLUS 9
155
0.1027
10984.97
1123.3
6226.94
540.69
-0.3855
672200
-0.6172
80.42 %
40 %
87
0.0621
31144.76
2356.22
18749.39
1383.26
0.0069
581400
-04131
139.69 %
41.37 %
20
0.0133
161796.42
7509.93
194440.38
5647
-0.4755
-
de cada cluster.
No Proyectos
Probabilidad
Media e
Media fp
Desv Stand e
Desv Stand fp
a
b
MMRE
PRED(.3)
CLUS 5
920
0.59
1811.23
151.18
1846.71
81.10
7652
0.5505
109.68 %
24.34 %
CLUS 6
361
0.23
5257.41
479.22
5066.92
137.29
77390
-0.5078
116.81 %
23.26 %
CLUS 7
74
0.05
15869.70
1980.13
13546.90
324.03
730200
-0.5733
193.5 %
13.51 %
No Proyectos
Probabilidad
Media e
Media fp
Desv Stand e
Desv Stand fp
a
b
MMRE
PRED(.3)
CLUS 8
28
0.02
28417.57
3794.85
23373.81
647.19
3699000
-0.6579
229.58 %
10.71 %
CLUS 9
156
0.1
10664.88
1069.98
9871.42
212.73
686300
-0.6708
155.92 %
14.74 %
EM y k-medias ofrecen segmentos de similares formas, aunque han agrupado los proyectos de diferente foma, ver figuras 2 y 3. Ello
se debe al hecho de que mbos forman parte
de una misma familia de algoritmos de clustering y tienen bases comunes. Sin embargo EM
destaca claramente sobre k-medias, ofreciendo
mucho mejores valores de MMRE y PRED(.3).
4.
Conclusiones
El algoritmo COBWEB, perteneciente a la familia de clustering jerrquico, no parece adecuado para la segmentacin de proyectos software, ya que tiende a agrupar a la mayora
en un solo segmento, cosa que no es deseable
de cara a la mejora en la estimacin de costo
software.
EM y k-medias, perteneciendo a la familia
de algoritmos de particionado y recolocacin,
ofrecen mejores resultados que COBWEB, indicando que para tareas de segmentacin de
proyectos software son ms adecuados que ste. Comparando EM y k-medias, se observa que los segmentos son diferentes, k-medias
agrupa en un slo cluster los mismos proyectos
que EM divide en varios. Es decir, EM realiza
una divisin ms especfica que k-medias.
Se puede concluir que el algoritmo EM,
siendo un algoritmo que realiza clustering
probabilstico, es ms adecuado que el
algoritmo k-medias, para segmentar una
base de datos de proyectos software, con el
fin de mejorar la estimacin del costo software.
Para prximos trabajos se profundizar en
el estudio del algoritmo EM, utilizando otras
formas de distribucin de datos, as como la
utilizacin de varios atributos con dependencia
e independencia entre ellos. As mismo se realizarn comparaciones entre EM con algoritmos
de clustering de otras familias, para comprobar la bondad de los mismos.
Referencias
[1] Garre, M., Cuadrado, J.J. and Sicilia, M.A., Recursive segmentation of
software projects for the estimation