A Feature Selection Approach for Different Programming Constructs Using Isotropic and Anisotropic Generalized Regression Neural Network
摘要
Machine learning models tend to be less interpretable and less predictive when they contain irrelevant features in the input dataset. As a result, one of the most important areas of machine learning is the creation of feature selection techniques to identify unnecessary characteristics. Here, we demonstrate how feature selection may be carried out using an isotropic and anisotropic Gaussian kernel in conjunction with a generalized regression neural network (GRNN) for the complexity of code change based on different programming constructs in the source code data of Core and UI components of Eclipse’s project. The users report bugs and request for the addition of new features and improvements in the existing software. A Code change refers to the modification in different code change categories based on different programming constructs involved in a bug fix. The various programming constructs, namely, IF Statement (IF), Method Call (MC), Method Declaration (MD), Try (TY), Assignment (AS), Switch (SW), Loop (LP), Sequence (SQ), Class Field (CF), Class (C), and Finally (F), have been used as features for this study. To select the best subset of features, we have used forward, backward, and exhaustive search feature selection strategies for the isotropic Gaussian kernel. The relevant, redundant, and irreverent features have been acquired from scratch using an isotropic Gaussian kernel. Anisotropic GRNN has the useful capability to use the bandwidth as the feature weight, allowing us to do embedded feature selection by using GRNN directly for prediction. Finally, a comparison between isotropic and anisotropic Gaussian kernels has been performed based on time to complete the search and Mean Squared Error (MSE) for the Core and UI components.