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