Estimación de esfuerzos de desarrollo de software utilizando un enfoque de conjunto apilado basado en Random Forest
Autores: A G, Priya Varshini; K, Anitha Kumari; Varadarajan, Vijayakumar
Idioma: Inglés
Editor: MDPI
Año: 2021
Acceso abierto
Artículo científico
2021
Estimación de esfuerzos de desarrollo de software utilizando un enfoque de conjunto apilado basado en Random Forest
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería Eléctrica y Electrónica
Palabras clave
Estimación de proyectos de software
Estimación de esfuerzo de software
Aprendizaje automático
Aprendizaje profundo
Técnicas de conjunto
Apilamiento
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 44
Citaciones: Sin citaciones
La estimación de proyectos de software es una actividad desafiante e importante en el desarrollo de proyectos de software. La estimación de proyectos de software incluye la estimación del tiempo de software, la estimación de recursos de software, la estimación de costos de software y la estimación del esfuerzo de software. La estimación del esfuerzo de software se centra en predecir el número de horas de trabajo (esfuerzo en términos de horas-persona o meses-persona) requeridas para desarrollar o mantener una aplicación de software. Es difícil prever el esfuerzo durante las etapas iniciales del desarrollo de software. Se han desarrollado varios modelos de aprendizaje automático y aprendizaje profundo para predecir la estimación del esfuerzo. En este documento, se consideraron enfoques de un solo modelo y enfoques de conjunto para la estimación. Las técnicas de conjunto son la combinación de varios modelos individuales. Las técnicas de conjunto consideradas para la estimación fueron el promedio, el promedio ponderado, el bagging, el boosting y el stacking. Se consideraron y evaluaron varios modelos de stacking, como el stacking utilizando un modelo lineal generalizado, el stacking utilizando un árbol de decisión, el stacking utilizando una máquina de vectores de soporte y el stacking utilizando un bosque aleatorio. Los conjuntos de datos considerados para la estimación fueron Albrecht, China, Desharnais, Kemerer, Kitchenham, Maxwell y Cocomo81. Las medidas de evaluación utilizadas fueron el error absoluto medio, el error cuadrático medio y R-cuadrado. Los resultados demostraron que el stacking propuesto utilizando un bosque aleatorio proporciona los mejores resultados en comparación con los enfoques de un solo modelo utilizando algoritmos de aprendizaje automático o profundo y otras técnicas de conjunto.
Descripción
La estimación de proyectos de software es una actividad desafiante e importante en el desarrollo de proyectos de software. La estimación de proyectos de software incluye la estimación del tiempo de software, la estimación de recursos de software, la estimación de costos de software y la estimación del esfuerzo de software. La estimación del esfuerzo de software se centra en predecir el número de horas de trabajo (esfuerzo en términos de horas-persona o meses-persona) requeridas para desarrollar o mantener una aplicación de software. Es difícil prever el esfuerzo durante las etapas iniciales del desarrollo de software. Se han desarrollado varios modelos de aprendizaje automático y aprendizaje profundo para predecir la estimación del esfuerzo. En este documento, se consideraron enfoques de un solo modelo y enfoques de conjunto para la estimación. Las técnicas de conjunto son la combinación de varios modelos individuales. Las técnicas de conjunto consideradas para la estimación fueron el promedio, el promedio ponderado, el bagging, el boosting y el stacking. Se consideraron y evaluaron varios modelos de stacking, como el stacking utilizando un modelo lineal generalizado, el stacking utilizando un árbol de decisión, el stacking utilizando una máquina de vectores de soporte y el stacking utilizando un bosque aleatorio. Los conjuntos de datos considerados para la estimación fueron Albrecht, China, Desharnais, Kemerer, Kitchenham, Maxwell y Cocomo81. Las medidas de evaluación utilizadas fueron el error absoluto medio, el error cuadrático medio y R-cuadrado. Los resultados demostraron que el stacking propuesto utilizando un bosque aleatorio proporciona los mejores resultados en comparación con los enfoques de un solo modelo utilizando algoritmos de aprendizaje automático o profundo y otras técnicas de conjunto.