{'fraction_non_alphanumeric': 0.01839587932303164, 'fraction_numerical': 0.003679175864606328, 'mean_word_length': 5.267281105990784, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A Comparison of Machine Learning Algorithms to Estimate Effort in Varying Sized Software

Software Effort Estimation is the most crucial task in software engineering and project management. It is very essential to estimate cost and required people properly for a project. Nowadays software is developed in more complexly and its success depends on proper estimation. In this research, we have compared the estimated result in varying software among three algorithms. These algorithms can be used in the early stages of software life cycle and can help project managers to conduct effort estimation efficiently before starting the project. It avoids project overestimation and underestimation among other benefits. Software size, productivity, complexity and requirement stability are the input factors of these three models. Softwares are classified into three categories (i.e. small, medium, large) based on software size. The effort has been measured using Radial Basis Function Neural Network, Extreme Learning Machine and Decision Tree for each category of software. The Root Mean Square Error has been calculated for the algorithms. The result shows that Decision Tree provides minimum 10% and 6% better result for small and medium sized software respectively. For large sized software Extreme Learning Machine gives 10% better result than Decision Tree.