AlgoritmosGarreAdis05

11
Comparación de diferentes algoritmos de clustering en la estimación de coste en el desarrollo de software Miguel Garre 1 Juán José Cuadrado 1 Miguel Ángel Sicilia 1 1 Dept. de Ciencias de la Computación ETS Ingeniería Informática Universidad de Alcalá Ctra. Barcelona km 33.6 - 28871 Alcalá de Henares, Madrid miguel.garre,jjcg,msicilia,@uah.es Resumen En el presente trabajo se aplican diferentes al- goritmos de clustering para la estimación de costo software. Se trata de tres tipos dife- rentes de algoritmos de clustering: COBWEB (clustering jerárquico), k-medias (particiona- do), y EM (probabilístico). Cada uno de ellos se aplica sobre los proyectos de la base de da- tos ISBSG, realizando una segmentación de los mismos en diferentes grupos de afinidad. Es- ta medida de afinidad es diferente, según el algoritmo de clustering de que se trate, obte- niéndose por tanto diferentes segmentos según el algoritmo que se utilice. Las medidas que se utilizarán para comparar la bondad de los segmentos obtenidos por cada uno de los algo- ritmos de clustering son MMRE y PRED(.3), ámpliamente utilizadas en la literatura sobre el tema. De los tres algoritmos utilizados des- taca EM como el que mejor segmentación rea- liza, a continuación k-medias y por último COBWEB. La razón estriba en que la forma que tiene COBWEB de obtener los segmentos no es la más adecuada para los datos suminis- trados al mismo, EM y k-medias ofrecen mejo- res resultados ya que se trata de métodos de la misma familia, y adecuados para la naturaleza de los datos. 1. Introducción El llevar a cabo un proyecto software, lleva asociado un esfuerzo de dedicación en cuan- to a tiempo y dinero se refiere. El poder es- timar, preferiblemente, en las primeras etapas de construcción de software, estos valores, ayu- da en gran medida en la consecución del pro- yecto. Muchos han sido, desde sus inicios en los años 40, los proyectos software que han fraca- sado por una mala planificación en el tiempo y coste. Es por ello por lo que desde estos prime- ros momentos surgieron multitud de métodos de estimación de coste software, para ayudar en el desarrollo de los mismos. Tantos métodos de estimación han sido agrupados en diferentes clasificacíones, la pri- mera se debe a Barry Boehm [6], en la que clasifica a los métodos de estimación de coste software en: modelos algorítmicos, juicio de ex- pertos, analogía, parkinson, price to win, top- down y bottom-up. A esta clasificación le si- gue la de DeMarco [7], la de Conte [8]: mode- los históricos-experimentales, modelos estadís- ticos, modelos teóricos, y modelos compuestos. Más tarde, en 1991 Kitchenham [9], clasifica en opinión de expertos, analogía, descomposición, y ecuaciones de estimación, los diferentes mé- todos de estimación. Fairley [10] en 1992 ofrece esta otra clasificación, modelos empíricos, ba- sados en regresión, y basados en la teoría. En 1997, Walkerden y Jeffery [11] nos ofrecen otra

description

minieria de datos

Transcript of AlgoritmosGarreAdis05

  • Comparacin de diferentes algoritmos de clustering en laestimacin de coste en el desarrollo de software

    Miguel Garre1 Jun Jos Cuadrado1 Miguel ngel Sicilia11Dept. de Ciencias de la Computacin

    ETS Ingeniera Informtica

    Universidad de Alcal

    Ctra. Barcelona km 33.6 - 28871

    Alcal de Henares, Madrid

    miguel.garre,jjcg,msicilia,@uah.es

    Resumen

    En el presente trabajo se aplican diferentes al-goritmos de clustering para la estimacin decosto software. Se trata de tres tipos dife-rentes de algoritmos de clustering: COBWEB(clustering jerrquico), k-medias (particiona-do), y EM (probabilstico). Cada uno de ellosse aplica sobre los proyectos de la base de da-tos ISBSG, realizando una segmentacin de losmismos en diferentes grupos de afinidad. Es-ta medida de afinidad es diferente, segn elalgoritmo de clustering de que se trate, obte-nindose por tanto diferentes segmentos segnel algoritmo que se utilice. Las medidas quese utilizarn para comparar la bondad de lossegmentos obtenidos por cada uno de los algo-ritmos de clustering son MMRE y PRED(.3),mpliamente utilizadas en la literatura sobreel tema. De los tres algoritmos utilizados des-taca EM como el que mejor segmentacin rea-liza, a continuacin k-medias y por ltimoCOBWEB. La razn estriba en que la formaque tiene COBWEB de obtener los segmentosno es la ms adecuada para los datos suminis-trados al mismo, EM y k-medias ofrecen mejo-res resultados ya que se trata de mtodos de lamisma familia, y adecuados para la naturalezade los datos.

    1. Introduccin

    El llevar a cabo un proyecto software, llevaasociado un esfuerzo de dedicacin en cuan-to a tiempo y dinero se refiere. El poder es-timar, preferiblemente, en las primeras etapasde construccin de software, estos valores, ayu-da en gran medida en la consecucin del pro-yecto. Muchos han sido, desde sus inicios en losaos 40, los proyectos software que han fraca-sado por una mala planificacin en el tiempo ycoste. Es por ello por lo que desde estos prime-ros momentos surgieron multitud de mtodosde estimacin de coste software, para ayudaren el desarrollo de los mismos.

    Tantos mtodos de estimacin han sidoagrupados en diferentes clasificacones, la pri-mera se debe a Barry Boehm [6], en la queclasifica a los mtodos de estimacin de costesoftware en: modelos algortmicos, juicio de ex-pertos, analoga, parkinson, price to win, top-down y bottom-up. A esta clasificacin le si-gue la de DeMarco [7], la de Conte [8]: mode-los histricos-experimentales, modelos estads-ticos, modelos tericos, y modelos compuestos.Ms tarde, en 1991 Kitchenham [9], clasifica enopinin de expertos, analoga, descomposicin,y ecuaciones de estimacin, los diferentes m-todos de estimacin. Fairley [10] en 1992 ofreceesta otra clasificacin, modelos empricos, ba-sados en regresin, y basados en la teora. En1997, Walkerden y Jeffery [11] nos ofrecen otra

  • clasificacin, modelos empricos paramtricos,modelos empricos no-paramtricos, modelosanalgicos, modelos tericos y modelos hers-ticos. Recientemente, Barry Boehm [12] ofreceotra clasificacin, actualizacin de la realizadaen 1981, en la cual aparecen nuevas clasifica-ciones, en total tenemos: tcnicas basadas enmodelos, tcnicas basadas en expertos, orien-tados al aprendizaje, modelos dinmicos, mo-delos basados en tcnicas de regresin, y mode-los compuestos-bayesianos. Dentro de los m-todos orientadas al aprendizaje, Boehm men-ciona las redes neuronales y el estudio de casos(originados a partir de los modelos por analo-ga). Por ltimo, en el ao 2001, Wieczorek [13]clasifica los mtodos de estimcin en, mto-dos basados en modelos y mtodos no-basadosen modelos, dentro de los primeros tenemosgenricos (propietarios y no propietarios) y es-pecficos (conducidos por los datos y compues-tos).

    Si nos centramos en los mtodos orientadosal aprendizaje, segn la clasificacin de 2001de Boehm, actualmente adems de las redesneuronales y el razonamiento basado en casos(CBR) (Shepperd [16]), se estn aplicandootras tcnicas de machine learning paraintentar mejorar el proceso de estimacin,sobre los proyectos actuales, que revistenuna gran complejidad. Tales tcnicas son lasde programacin gentica, sistemas fuzzy,induccin de reglas, CART (Classification andRegression Trees) y combinaciones de stas.Ejemplos de ello, pueden ser los artculos deAli Idri, en los que aplica sistemas difusoscombinados con analogas [15, 14], o los deDolado en los que utiliza programacin gen-tica [17, 18] para estimar el costo software.En el caso de induccin de reglas, C. Maircompara esta tcnica con redes neuronalesy razonamiento basado en casos en [19]. L.Briand, ha realizado diferentes anlisis ycomparativas, en las que interviene CART,[21, 20]. Y por ltimo mencionar el artculo deA. Lee [22], en el que se utilizan tcnicas declustering para el entrenamiento de una redneuronal en la estimacin de coste software.

    Este trabajo es continuacin de una serie de

    ellos en los que se aplican tcnicas de cluste-ring para segmentar un conjunto de proyectossoftware, y sobre stos aplicar modelos mate-mticos de estimacin, cosa que hasta ahorano se haba experimentado. Estos artculos sonlos de J. Cuadrado et al. [4, 5] y los de M. Ga-rre et al. [1, 2, 3]. En estos trabajos se obtie-nen una serie de grupos de proyectos, a partirde la base de proyectos ISBSG versin 8 (In-ternacional Software Benchmarking StandardGroup1), y sobre cada uno de ellos se aplica unmodelo matemtico multiplicativo de la formae = asb, donde e es el esfuerzo estimado y salguna medida del tamao del proyecto. Lasconstantes a y b se obtienen mediante anlisisde regresin sobre los proyectos de cada grupo.Los resultados obtenidos (respecto a MMREy PRED(.3)), como se muestra en los trabajosanteriormente mencionados, mejoran los quese consiguen al utilizar una nica ecuacin pa-ra todos los proyectos.

    Tras comprobar la bondad de estas tcni-cas en el proceso de estimacin de costo sof-tware, es necesario realizar una comparativade diferentes algoritmos de clustering, con laintencin de ver cal o cales de ellos se com-portan de forma ms efectiva para realizar di-cha estimacin. Se compararn tres de estosalgoritmos, COBWEB, k-medias y EM (utili-zado en [4, 5, 1, 2, 3]), ofreciendo los resulta-dos obtenidos. El resto del artculo se estruc-tura de la siguiente forma: en la seccin 2 serealizar una definicin de la metodologa declustering, se mostrar una clasificacin de losdiferentes algoritmos de clustering, as comouna descripcin de los algoritmos COBWEB,EM y k-medas. En la seccin 3 se aplican estosalgoritmos a la base de datos ISBSG y se com-paran los resultados ofrecidos por los mismos.Finalmente en la seccin 4 aparecen las con-clusiones obtenidas a partir de la comparativarealizada.

    2. Clustering

    El proceso de Clustering consiste en la divisinde los datos en grupos de objetos similares. Pa-ra medir la similaridad entre objetos se suelen

    1http://www.isbsg.org/

  • utilizar diferentes formas de distancia: distan-cia eucldea, de Manhatan, de Mahalanobis,etc. El representar los datos por una serie declusters, conlleva la prdida de detalles, peroconsigue la simplificacin de los mismos. Clus-tering es una tcnica ms de Machine Lear-ning, en la que el aprendizaje realizado es no-supervisado (unsupervised learning). Desde unpunto de vista prctico, el clustering juega unpapel muy importante en aplicaciones de datamining, tales como exploracin de datos cien-tficos, recuperacin de la informacin y mine-ra de texto, aplicaciones sobre bases de datosespaciales (tales como GIS o datos proceden-tes de astronoma), aplicaciones Web , marke-ting, diagnstico mdico, anlisis de ADN enbiologa computacional, y muchas otras. En elpresente trabajo lo utilizaremos como comple-mento a los modelos matemticos, en la esti-macin de coste software.

    Una gran variedad de algoritmos de cluste-ring han surgido en los ltimos aos, los cualesse puden clasificar en:

    Mtodos Jerrquicos Algoritmos Aglomerativos Algoritmos Divisivos

    Mtodos de Particionado y Recolocacin Clustering Probabilstico Mtodos de los k-vecinos (k-medoids)

    Mtodos de las k-medias Algoritmos Basados en Densidad

    Clustering de Conectividad Ba-sada en Densidad Density-BasedConnectivity Clustering

    Clustering basado en Funcionesde Densidad

    Mtodos Basados en Rejillas Mtodos Basados en la Co-Ocurrencia de

    Datos Categricos

    Clustering Basado en Restricciones Algoritmos para Datos de Grandes Di-

    mensiones

    Clustering Subespacial Tcnicas de Co-Clustering

    A continuacin veremos ms en detalle losque sern utilizados en este trabajo.

    2.1. COBWEB

    Se trata de un algoritmo de clustering jerrqui-co. COBWEB [23], se caracteriza porque utili-za aprendizaje incremental, esto es, realiza lasagrupaciones instancia a instancia. Durante laejecucin del algoritmo se forma un rbol (r-bol de clasificacin) donde las hojas represen-tan los segmentos y el nodo raz engloba porcompleto el conjunto de datos de entrada. Alprincipio, el rbol consiste en un nico nodoraz. Las instancias se van aadiendo una auna y el rbol se va actualizando en cada paso.La actualizacin consiste en encontrar el me-jor sitio donde incluir la nueva instancia, ope-racin que puede necesitar de la reestructura-cin de todo el rbol (incluyendo la generacinde un nuevo nodo anfitrin para la instanciay/o la fusin/particin de nodos existentes) osimplemente la inclusin de la instancia en unnodo que ya exista. La clave para saber c-mo y dnde se debe actualizar el rbol la pro-porciona una medida denominada utilidad decategora, que mide la calidad general de unaparticin de instancias en un segmento. La re-estructuracin que mayor utilidad de categoraproporcione es la que se adopta en ese paso. Elalgoritmo es muy sensible a otros dos parme-tros:

    Acuity Este parmetro es muy necesario, yaque la utilidad de categora se basa enuna estimacin de la media y la desvia-cin estndar del valor de los atributos,pero cuando se estima la desviacin es-tndar del valor de un atributo para unnodo en particular, el resultado es cerosi dicho nodo slo contiene una instancia.As pues, el parmetro acuity representala medida de error de un nodo con una so-la instancia, es decir, establece la varianzamnima de un atributo.

    Cut-off Este valor se utiliza para evitar elcrecimiento desmesurado del nmero de

  • segmentos. Indica el grado de mejora quese debe producir en la utilidad de cate-gora para que la instancia sea tenida encuenta de manera individual. En otras pa-labras: cuando no es suficiente el incre-mento de la utilidad de categora en el mo-mento en el que se aade un nuevo nodo,ese nodo se corta, conteniendo la instan-cia otro nodo ya existente.

    Adems COBWEB pertenece a los mtodosde aprendizaje conceptual o basados en mode-los. Esto significa que cada cluster se consideracomo un modelo que puede describirse intrin-sicamente, ms que un ente formado por unacoleccin de puntos.

    Al algoritmo COBWEB no hay que propor-cionarle el nmero exacto de clusters que que-remos, sino que en base a los parmetros an-teriormente mencionados encuentra el nme-ro ptimo. La implementacin utilizada en elpresente trabajo, de este algoritmo es la deWeka2.

    2.2. EM

    EM pertenece a una familia de modelos quese conocen como Finite Mixture Models, loscuales se pueden utilizar para segmentar con-juntos de datos. Dentro de la clasificacin dela seccin 2, encajara dentro de los Mtodosde Particionado y Recolocacin, en concretoClustering Probabilstico.

    Se trata de obtener la FDP (Funcin deDensidad de Probabilidad) desconocida a laque pertenecen el conjunto completo de da-tos. Esta FDP se puede aproximar medianteuna combinacin lineal de NC componentes,definidas a falta de una serie de parmetros{} = {jj = 1..NC}, que son los quehay que averiguar,

    P (x) =

    NCX

    j=1

    pijp(x; j) conNCX

    j=1

    pij = 1 (1)

    donde pij son las probabilidades a priori de ca-da cluster cuya suma debe ser 1, que tambinforman parte de la solucin buscada, P (x) de-nota la FDP arbitraria y p(x; j) la funcin

    2http://www.cs.waikato.ac.nz/ml/weka/

    de densidad del componente j. Cada clusterse corresponde con las respectivas muestrasde datos que pertenecen a cada una de lasdensidades que se mezclan. Se pueden estimarFDP de formas arbitrarias, utilizndose FDPnormales n-dimensionales, t-Student, Bernou-lli, Poisson, y log-normales. Aqu se modela-rn los datos mediante distribuciones norma-les, por ser stas las ms comunes.

    El ajuste de los parmetros del modelo re-quiere alguna medida de su bondad, es decir,cmo de bien encajan los datos sobre la distri-bucin que los representa. Este valor de bon-dad se conoce como el likelihood de los datos.Se tratara entonces de estimar los parmetrosbuscados , maximizando este likelihood (es-te criterio se conoce como ML-Maximun Li-kelihood). Normalmente, lo que se calcula esel logaritmo de este likelihood, conocido comolog-likelihood ya que es ms fcil de calcularde forma analtica. La solucin obtenida es lamisma, gracias a la propiedad de monotonici-dad del logaritmo. La forma de esta funcinlog-likelihood es:

    L(, pi) = log

    NIY

    n=1

    P (xn) (2)

    donde NI es el nmero de instancias, que su-ponemos independientes entre si.

    El algoritmo EM, procede en dos pasos quese repiten de forma iterativa:

    Expectation Utiliza los valores de los par-metros, iniciales o proporcionados por elpaso Maximization de la iteracin ante-rior, obteniendo diferentes formas de laFDP buscada.

    Maximization Obtiene nuevos valores de losparmetros a partir de los datos propor-cionados por el paso anterior.

    despus de una serie de iteraciones, el algorit-mo EM tiende a un mximo local de la funcinL.

    Finalmente se obtendr un conjunto declusters que agrupan el conjunto de proyectosoriginal. Cada uno de estos cluster estar de-finido por los parmetros de una distribucin

  • normal.

    La implementacin utilizada no es la de We-ka, ya que la implementacin que lleva a ca-bo del algoritmo EM lleva asociada la premisade la independencia de los atributos utilizados,nada ms lejos de la realidad existente entre elesfuerzo y los puntos de funcin. Por lo tantose ha desarrollado una implementacin de EMen lenguaje C que se adapta mucho mejor alas caractersticas del problema de estimacinde coste software. Para una mayor descripcinde la misma se puede consultar [3].

    2.3. K-medias

    Se trata de un algoritmo clasificado comoMtodo de Particionado y Recolocacin. Elmtodo de las k-medias [24, 25], es hasta aho-ra el ms utilizado en aplicaciones cientficase industriales. El nombre le viene porque re-presenta cada uno de los clusters por la media(o media ponderada) de sus puntos, es decir,por su centroide. Este mtodo nicamentese puede aplicar a atributos numricos, y losoutliers le pueden afectar muy negativamente.Sin embargo, la representacin mediantecentroides tiene la ventaja de que tiene unsignificado grfico y estadstico inmediato. Lasuma de las discrepancias entre un punto y sucentroide, expresado a travs de la distanciaapropiada, se usa como funcin objetivo.La funcin objetivo, suma de los cuadradosde los errores entre los puntos y sus centroidesrespectivos, es igual a la varianza total dentrodel propio cluster. La suma de los cuadradosde los errores se puede razionalizar, comoel negativo del log-likelihood, para modelosmixtos que utilicen distribuciones normales.Por lo tanto, el mtodo de las k-medias sepuede derivar a partir del marco probabilstico(ver subseccin Clustering Probabilstico dellibro de Mitchell [26]).

    Existen dos versiones del mtodo de las k-medias. La primera es parecida al algoritmoEM, y se basa en dos pasos iterativos: prime-ro reasigna todos los puntos a sus centroidesms cercanos, y en segundo lugar recalcula loscentroides de los nuevos grupos creados en el

    anterior. El proceso continua hasta alcanzarun criterio de parada (por ejemplo que no serealicen nuevas reasignaciones). Esta versinse conoce como algoritmo de Forgy [27].La segunda versin [28] reasigna los puntos ba-sndose en un anlisis ms detallado de losefectos causados sobre la funcin objetivo almover un punto de su cluster a otro nuevo.Si el traslado es positivo, se realiza, en casocontrario se queda como est.

    A diferencia de los anteriores algoritmos,COBWEB y EM, k-medias necesita la previaespecificacin del nmero de clusters que se de-sean obtener.La implementacin utilizada enel presente trabajo, de este algoritmo es tam-bin la ofrecida por Weka.

    3. Caso de Estudio

    Para realizar el estudio de los diferentes algo-ritmos de clustering, primero es preciso reali-zar un filtrado de los proyectos de la base dedatos ISBSG, que ser utilizada. Esto se haren la seccin 3.1. Una vez preparados los da-tos, se aplican los algoritmos COBWEB, EM yk-medias, sobre los mismos, obtenindose unosresultdos que se ofrecen en la seccin 3.2. Lacomparacin de estos resultados se ver en laseccin 3.3.

    3.1. Preparacin de los datos

    Se utiliz la base de datos de proyectosISBSG-8, la cual contiene informacin sobre2028 proyectos. Esta base de datos contieneinformacin sobre tamao, esfuerzo, y otrascaractersticas de un proyecto. El primer pasode limpieza consisti en eliminar de la base dedatos todos los proyectos con valores numri-cos no vlidos o nulos en los campos esfuerzo(Summary Work Effort en ISBSG-8) y tama-o (Function Points en ISBSG-8). Ademstodos los proyectos cuyo valor para el atribu-to Recording Method fuese distinto de StaffHours tambin fueron eliminados. La razn esque se considera que el resto de formas de con-siderar el esfuerzo son subjetivas. Por ejemploProductive Time es una magnitud difcil de va-lorar en un contexto organizativo.

  • Otro aspecto a tener en cuenta para la lim-pieza de los datos es la forma en la que seobtuvieron los diferentes valores de los puntosde funcin. En concreto se examin el valor delatributo Derived count approach, descartan-do todos los proyectos que no hubiesen utiliza-do como forma de estimar los puntos de fun-cin mtodos como IFPUG, NESMA, Albret-ch o Dreger. Las diferencias entre los mtodosIFPUG y NESMA tienen un impacto despre-ciable sobre los resultados de los valores de lospuntos de funcin [29]. Las mediciones basa-das en las tcnicas Albretch no se eliminaronya que, de hecho IFPUG es una revisin deestas tcnicas. De la misma forma el mtodoDreger [30] es simplemente una gua sobre lasmediciones IFPUG. Por ltimo se procede ala eliminacin de los proyectos con valores nu-los para el atributo tiempo (Project ElapsedTime). Finalmente el estudio se realiza sobreuna base de datos de 1569 proyectos.

    3.2. Aplicacin de los algoritmos de clus-tering

    En esta seccin veremos los resultados que seobtienen al aplicar los tres algoritmos de clus-tering bajo estudio, sobre la base de datosISBSG, una vez preparados los datos, comohemos visto en la seccin 3.1.

    3.2.1. COBWEB

    Este algoritmo admite dos parmetros, comohemos visto en la seccin 2.1, cutoff y acuity.Los valores que Weka propone para stos es deacuity=1.0 y cutoff=0.0028209479177387815.Con estos valores no se obtiene ningn clus-ter, por lo que es necesario modificarlos. Se-gn el significado del cutoff parece lgico eldecrementar este valor, para obtener un ma-yor nmero de clusters, para ello se le asignaun valor de cutoff=0.00028209479177387815.Obtenindose los siguientes resultados:

    Nmero de fusiones: 386.

    Nmero de divisiones: 896.

    Nmero de clusters: 1792.

    Figura 1: Clusters obtenidos por el algoritmoCOBWEB.

    De los 1792 clusters, 1593 estn formadospor un elemento, y los restantes por nin-guno. El nmero tan elevado de clusters ha-ce pensar que el valor elegido no es el msadecuado, es necesario incrementarlo. Trasvarios intentos se utiliza un valor de cu-toff=0.0018750338970421, el cual ofrece unosresultados aceptables:

    Nmero de fusiones: 283.

    Nmero de divisiones: 222.

    Nmero de clusters: 95.

    Se hicieron nuevas intentonas, pero ningunadio un nmero de clusters menor. Todos losresultados coincidian en lo siguiente: se obtie-nen 94 clusters que cubren 114 proyectos re-partidos uniformemente, mientras que el clus-ter restante engloba a 1479 proyectos.

    En la figura 1 se puede ver el cluster ms im-portante. La escala de esta figura, as como lassiguientes, es logartmica, para poder apreciarmejor la forma de los segmentos obtenidos.

    Los valores de MMRE y PRED(.3) son losque se muestran en el cuadro 1. stos valo-res resultan de utilizar la recta de regresindel cluster obtenido, cuyos coeficientes a y btambin se ofrecen en dicho cuadro.

  • Cluster 1No Proyectos 1479a 26.52b 0.7899MMRE 133.56%PRED(.3) 23.56%

    Cuadro 1: Valores MMRE y PRED(.3) paraCOBWEB.

    3.2.2. EM

    Este algoritmo proporciona una segmentacinde los proyectos en 9 clusters. La representa-cin grfica se puede ver en la figura 2.

    Figura 2: Clusters obtenidos por el algoritmo EM.

    Los valores de los parmetros se ofrecen acontinuacin en los cuadros 2, 3 y 4. Los valo-res de MMRE y PRED(.3) han resultado uti-lizando las respectivas rectas de regresin decada cluster, cuyos coeficientes a y b tambinse ofrecen en dichos cuadros.

    Para el cluster 9, formado nicamente por20 proyectos no se realiza ningn anlisis porconsider que los resultados ofrecidos no seranfidedignos, por el pequeo nmero de elemen-tos de este segmento.

    CLUS 1 CLUS 2 CLUS 3No Proyectos 74 249 311Probabilidad 0.046 0.1569 0.2655Media e 284.68 616.15 0.179Media fp 48.24 95.95 175.26Desv Stand e 128.96 309.55 594.94Desv Stand fp 20.46 39.27 76.67Coef Cor e-fp 0.5931 -0.2218 -05015a 36.6 2829 34640b 0.5012 -0.3794 -0.675MMRE 64.88% 74.23% 41.54%PRED(.3) 56.75% 46.37% 53.69%

    Cuadro 2: Resultados del algoritmo EM. Clus-ters 1, 2 y 3.

    CLUS 4 CLUS 5 CLUS 6No Proyectos 343 161 170Probabilidad 0.2022 0.1198 0.1173Media e 2367.9 3072 6679.83Media fp 278.8 714.9 317.82Desv Stand e 1063.23 1590.45 2490.04Desv Stand fp 128.86 302.13 141.02Coef Cor e-fp -0.5213 -0.1 0.3625a 41730 44890 2500b -0.5351 -0.4322 0.1781MMRE 39.46% 71.47% 22.14%PRED(.3) 59.18% 41.61% 69.41%

    Cuadro 3: Resultados del algoritmo EM. Clus-ters 4, 5 y 6.

    3.2.3. K-medias

    Al algoritmo de las k-medias hay que propor-cionarle de antemano el nmero de clusters enlos que queremos que se segmente la base deproyectos. Este dato se obtiene a partir del al-goritmo EM, ya que ste obtiene este dato deforma ptima (vease [3]). Por lo tanto el algo-ritmo de k-medias se aplica sobre la base dedatos de proyectos ISBSG para un nmero declusters de 9 y un valor para la semilla de 10.La representacin grfica de los clusters obte-nidos se puede ver en la figura 3.

    En este caso, el nmero de elementos porcluster es el siguiente: cluster 1, 4 proyectos;

  • CLUS 7 CLUS 8 CLUS 9No Proyectos 155 87 20Probabilidad 0.1027 0.0621 0.0133Media e 10984.97 31144.76 161796.42Media fp 1123.3 2356.22 7509.93Desv Stand e 6226.94 18749.39 194440.38Desv Stand fp 540.69 1383.26 5647Coef Cor e-fp -0.3855 0.0069 -0.4755a 672200 581400 -b -0.6172 -04131 -MMRE 80.42% 139.69% -PRED(.3) 40% 41.37% -

    Cuadro 4: Resultados del algoritmo EM. Clus-ters 7, 8 y 9.

    Figura 3: Clusters obtenidos por el algoritmo dek-medias.

    cluster 2, 12 proyectos; cluster 3, 3 proyectos;cluster 4, 11 proyectos; cluster 5, 920 proyec-tos; cluster 6, 361 proyectos; cluster 7, 74 pro-yectos; cluster 8, 28; y cluster 9, 156. Por lotanto, solamente se analizarn los clusters 5,6, 7, 8 y 9, los restantes se descartan por tenerun nmero de proyectos muy pequeo. Al igualque en el caso anterior, podemos ver los resul-tados de aplicar este algoritmo, tras 50 itera-ciones, en los cuadros 5 y 6. Igualmente, losvalores de MMRE y PRED(.3) han resultadoutilizando las respectivas rectas de regresin

    de cada cluster.

    CLUS 5 CLUS 6 CLUS 7No Proyectos 920 361 74Probabilidad 0.59 0.23 0.05Media e 1811.23 5257.41 15869.70Media fp 151.18 479.22 1980.13Desv Stand e 1846.71 5066.92 13546.90Desv Stand fp 81.10 137.29 324.03a 7652 77390 730200b 0.5505 -0.5078 -0.5733MMRE 109.68% 116.81% 193.5%PRED(.3) 24.34% 23.26% 13.51%

    Cuadro 5: Resultados del algoritmo k-medias.Clusters 5, 6 y 7.

    CLUS 8 CLUS 9No Proyectos 28 156Probabilidad 0.02 0.1Media e 28417.57 10664.88Media fp 3794.85 1069.98Desv Stand e 23373.81 9871.42Desv Stand fp 647.19 212.73a 3699000 686300b -0.6579 -0.6708MMRE 229.58% 155.92%PRED(.3) 10.71% 14.74%

    Cuadro 6: Resultados del algoritmo k-medias.Clusters 8 y 9.

    3.3. Comparacin de los resultados obte-nidos

    Si se comparan los valores de MMRE yPRED(.3) de los clusters obtenidos por los al-goritmos bajo estudio, se observa que el mto-do EM destaca sobre los otros dos.

    COBWEB ofrece un nico cluster significa-tivo, con resultados no muy diferentes de losque se obtendran sin realizar segmentacin al-guna, considerndo todos los proyectos parauna nica curva de regresin. De hecho el clus-ter obtenido es una representacin de toda labase de datos, eliminando algunos outliers.

  • EM y k-medias ofrecen segmentos de simi-lares formas, aunque han agrupado los proyec-tos de diferente foma, ver figuras 2 y 3. Ellose debe al hecho de que mbos forman partede una misma familia de algoritmos de cluste-ring y tienen bases comunes. Sin embargo EMdestaca claramente sobre k-medias, ofreciendomucho mejores valores de MMRE y PRED(.3).

    4. Conclusiones

    El algoritmo COBWEB, perteneciente a la fa-milia de clustering jerrquico, no parece ade-cuado para la segmentacin de proyectos sof-tware, ya que tiende a agrupar a la mayoraen un solo segmento, cosa que no es deseablede cara a la mejora en la estimacin de costosoftware.

    EM y k-medias, perteneciendo a la familiade algoritmos de particionado y recolocacin,ofrecen mejores resultados que COBWEB, in-dicando que para tareas de segmentacin deproyectos software son ms adecuados que s-te. Comparando EM y k-medias, se obser-va que los segmentos son diferentes, k-mediasagrupa en un slo cluster los mismos proyectosque EM divide en varios. Es decir, EM realizauna divisin ms especfica que k-medias.

    Se puede concluir que el algoritmo EM,siendo un algoritmo que realiza clusteringprobabilstico, es ms adecuado que elalgoritmo k-medias, para segmentar unabase de datos de proyectos software, con elfin de mejorar la estimacin del costo software.

    Para prximos trabajos se profundizar enel estudio del algoritmo EM, utilizando otrasformas de distribucin de datos, as como lautilizacin de varios atributos con dependenciae independencia entre ellos. As mismo se reali-zarn comparaciones entre EM con algoritmosde clustering de otras familias, para compro-bar la bondad de los mismos.

    Referencias

    [1] Garre, M., Cuadrado, J.J. and Sici-lia, M.A., Recursive segmentation ofsoftware projects for the estimation

    of development effort, en Procee-dings of the ADIS 2004 Workshopon Decision Support in SoftwareEngineering, CEUR Workshopproceedings Vol. 120, disponibleen http://sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-120, 2004.

    [2] Garre, M., Charro, M., Estimacindel esfuerzo de un proyecto sof-tware utilizando el criterio MDL-EM y componentes normales N-Dimensionales. Aplicacin a un ca-so prctico, Revista de Procesos yMtricas de las Tecnologas de la In-formacin (RPM)ISSN: 1698-2029,VOL. 2, No 1, Marzo 2005, 13-24.Asociacin Espaola de Sistemas deInformticos (AEMES), 2005.

    [3] Garre M., Cuadrado J.J., Sicilia,M.A., Charro M, Rodrguez D., Seg-mented Parametric Software Esti-mation Models: Using the EM algo-rithm with the ISBSG 8 database,Information Technology Interfaces,Croacia 20-23 junio 2005.

    [4] J. Cuadrado Gallego, Daniel Rodr-guez, Miguel ngel Sicilia. Mode-los Segmentados de estimacin delesfuerzo de desarrollo del software:un caso de estudio con la base dedatos ISBSG. Revista de Procesosy Mtricas de las Tecnologas dela Informacin (RPM). VOL. 1, No

    2, Agosto 2004, 25-30 ISSN: 1698-2029.

    [5] Cuadrado J.J., Sicilia, M.A., Ga-rre M., Rodrguez D., An empi-rical study of process-related attri-butes in segmented software cost-estimation relationships, Journal ofSystems and Software, 2005.

    [6] Boehm, B., Software EngineeringEconomics, Vol. 10, Prentice-Hall,1981.

  • [7] DeMarco, T., Controlling SoftwareProjects, Yourdan Press, 1982.

    [8] Conte, S.D., Dunsmore, H. E.& Shen, V.Y., Software Enginee-ring Metrics and Models, Benja-min/Cumming Co., Inc., MenloPark, 1986.

    [9] Fenton, N.E., Software metrics:a rigorous approach, Chapman &Hall, Londres, 1991.

    [10] Fairley, R.E., Recent advances insoftware estimation techniques, enInternational Conference on Sof-tware Engineering, ACM New York,USA, 1992.

    [11] Walkerden, F. & Jeffery, D., Softwa-re cost estimation: A review of mo-dels, process, and practice, Advan-ces in Computers 44, 59-125, 1997.

    [12] Boehm, B., Abts, C. & Chulani, S.,Software development cost estima-tion approaches - a survey, Annalsof Software Engineering 10, 177-205, 2000.

    [13] Wieczorek, I. & Briand, L., Resour-ce estimation in software enginee-ring, Technical Report, Internatio-nal Software Engineering ResearchNetwork, 2001.

    [14] Idri, A. and Abran, A., Fuzzy Case-Based Reasoning Models for Softwa-re Cost Estimation,2002.

    [15] Idri, A. and Abran, A. and Khosh-goftaar, T. M., Fuzzy Analogy: Anew Approach for Software Cost Es-timation, Proceedings of the 11thInternational Workshop on Softwa-re Measurements, 93-101, Montreal,Canada, 2001.

    [16] Shepperd, M., and Schofield, C.,Estimating software project effortusing analogies, IEEE Transactionson Software Engineering, 1997.

    [17] Dolado, J.J., On the problem of thesoftware cost function, Informationand Software Technology, VOL. 43,61-72, 2001.

    [18] Dolado, J. J. and Fernndez L.,Genetic Programming, Neural Ne-tworks and Linear Regression inSoftware Project Estimation, INS-PIRE III, Process Improvementthorough Training and Education,155-171, The British Computer So-ciety, 1998.

    [19] Mair, C. and Kadoda, G. and Le-fley, M. and Keith, P. and Schofield,C. and Shepperd, M. and Webs-ter, S., An investigation of machinelearning based prediction systems,The Journal of Systems and Softwa-re, VOL. 53, 23-29, 2000.

    [20] Briand, L. and Langley, T. andWieczorek, I., Using the EuropeanSpace Agency Data Set: A Replica-ted Assessment and Comparison ofCommon Software Cost Modeling,Proceedings of the 22th Internatio-nal Conference on Software Engi-neering, 377-386, Limerik, Ireland,2000.

    [21] Briand, L. C. and El Emam, K.and Maxwell, K. and Surmann, D.and Wieczorek, I., An Assessmentand Comparison of Common CostSoftware Project Estimation Met-hods, Proc. International Conferen-ce on Software Engineering, ICSE99, 313-322, 1999.

    [22] Lee, A. and Cheng, C. H. and Bala-krishann, J., Software developmentcost estimation: Integrating neuralnetwork with cluster analysis, Infor-mation & Management, No34, 1-9,1998.

    [23] Fisher, D., Knowledge acquisitionvia incremental conceptual cluste-ring, Machine Learning, VOL. 2,139-172, 1987.

  • [24] Hartigan, J., Clustering Algorithms,John Wiley & Sons, New York,1975.

    [25] Hartigan, J. and Wong, M., Algo-rithm AS139: A k-means clusteringalgorithm, Applied Statistics, VOL.28, 100-108, 1979.

    [26] Tom M. Mitchell. Machine Lear-ning. McGraw-Hill. (1997).

    [27] Forgy, E., Cluster analysis of mul-tivariate data: Efficiency versus in-terpretability of classification, Bio-metrics, VOL. 21, 768-780, 1965.

    [28] Duda, R. and Hart, P., PatternClassification and Scene Analysis,John Wiley & Sons, 1973.

    [29] NESMA (1996). NESMA FPACounting Practices Manual (CPM2.0).

    [30] Dreger, J. Brian. Function PointAnalysis. Englewood Cliffs, NJ:Prentice Hall, 1989.