20Software Cost Estimation Using Machine Learning Algorithms

Software cost estimation is one of the most important problems in software projects. When the project manager estimates the project cost correctly, ambiguities in the project are reduced, otherwise serious economic problems will arise. As a result of the growth and complexity of software projects, new cost estimation methods are constantly being developed. In this study, the cost of software projects is estimated by testing different machine learning algorithms using the Waikato Environment for Knowledge Analysis (WEKA) data mining software tool. Algorithms were applied to a Chinese dataset taken from the PROMISE data store using a 10-fold cross-validation technique and results, the performance criterion correlation coefficient, and error rates, such as the mean absolute error (MAE), root mean square error (RMSE), relative absolute error (RAE) and root relative squared error (RRSE). Thanks to this study, it was possible to obtain the information about which algorithms could be used for software cost estimation, what the estimation results may be when these algorithms were applied to the Chinese dataset and which algorithm worked best.

20.1. Introduction

Software cost estimation can be defined as “predicting the resources required for a software development process”. The estimation process includes size estimation, effort estimation, development of initial project schedules and, finally, estimation of the overall ...

Get Data Analysis and Related Applications, Volume 1 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.