Abstract
Software development effort estimation is a critical activity of the project management process. In this study, machine learning algorithms were investigated in conjunction with feature transformation, feature selection, and parameter tuning techniques to estimate the development effort accurately and a new model was proposed as part of an expert system. We preferred the most general-purpose algorithms, applied parameter optimization technique (Grid- Search), feature transformation techniques (binning and one-hot-encoding), and feature selection algorithm (principal component analysis). All the models were trained on the ISBSG datasets and implemented by using the scikit-learn package in the Python language. The proposed model uses a multilayer perceptron as its underlying algorithm, applies binning of the features to transform continuous features and one-hot-encoding technique to transform categorical data into numerical values as feature transformation techniques, does feature selection based on the principal component analysis method, and performs parameter tuning based on the GridSearch algorithm. We demonstrate that our effort prediction model mostly outperforms the other existing models in terms of prediction accuracy based on the mean absolute residual parameter.
Highlights
The effort required for the development of a software project can change with many factors in the development
We aimed to develop a novel machine learning-based software effort estimation model by using feature transformation and feature selection techniques and parameter tuning techniques on datasets created based on real software development projects
RQ3: Can we build better machine learning-based models in terms of prediction accuracy by applying feature transformation, feature selection, and parameter tuning techniques? We demonstrated that better machine learning-based effort estimation models can be built with the help of feature engineering and parameter optimization techniques
Summary
The effort required for the development of a software project can change with many factors in the development. The total project effort and the associated cost needed for the development should be estimated accurately before the software project is carried out. This is one of the most important main tasks of the software project manager. If the effort required for the project development is predicted incorrectly, the cost of the software development process might be underestimated or overestimated, both having negative effects by causing the company to lose profit or visibility. Software development effort estimation (SDEE) is a crucial step in the early stages of the software development life cycle to avoid unexpected situations that might arise
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
More From: TURKISH JOURNAL OF ELECTRICAL ENGINEERING & COMPUTER SCIENCES
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.