# Classification of Bugs in Cloud Computing Applications Using Machine Learning Techniques
## 3 Solution Design and Implementation
### Dataset Preprocessing  
Preprocessing is a data mining approach that transforms raw data into information that machines understand. Real-world data are shown to be insufficient, inconsistent, and  
Figure 10: Integrated word cloud of all errors. Figure 9: Word cloud of “Compile” error. frequently inaccurate. The following figure shows the preprocessing steps employed in this research work:  
The dataset preprocessing is divided into two major steps, including raw data and basic preprocessing labelling. The basic analysis covers the size of the dataset in terms of the number of rows and columns, and checks the format of the dataset to make sure that it is in a format that can be easily read and analyzed. After the basic analysis, the null/missing values are handled to check for missing or incomplete data. Duplicate values are removed to handle it and to help stop word removal. In the third step, contractions are expanded, punctuation and extra spaces are removed, and mentions and hashtags are performed. Finally, the case convention and label encoding are performed, as shown in Figure 11. The dataset's form is (5300,3), indicating that it has 5300 records and three characteristics. The dataset has two objects and a single integer attribute, and the attribute title has 5299 unique values and a frequency of 2. Additionally, the attribute \"type\" has six distinct values, indicating that the dataset comprises six classes, making this a multi-class classification problem. Missing or null values in the dataset are the curse that must be handled properly. Otherwise, it can ruin the model and lead to wrong predictions. Fortunately, this employed dataset is free from this curse and has no null/missing values. Redundant data creates many issues for machine learning models. The model generally learns and trains itself on the same data and tends to overfit sometimes. Removing or handling duplicate values is important to prevent the model from this issue. The dataset had 1 duplicate value that was dropped, leaving the shape of the dataset at (5299,2). Here, the attribute Unnamed: 0 was also dropped because that is the most uncorrelated column with labels. The advanced preprocessing stages begin from this point. One of the most crucial steps in the text data is the elimination of stop words. Stop words are a meaningless dataset that is ineffective for classifying texts since they lack any semantic value. A stop word is a frequently used term that a search engine has been configured to ignore while indexing entries for searching and retrieving them as the result of a search query. Examples of stop words include \"the\", \"a\", \"an\", and \"in\". Because it takes up database space and lengthens processing times, these types of data are ignored. Stopword elimination also aids in lowering dataset size. Stop words in Python can be eliminated by utilizing the NLTK  
Figure 11: Dataset Preprocessing. (Natural Language Toolkit) package. NLTK is used for the removal of stopwords. The stopword lists of English words are here because the dataset is in English [18]. Punctuation, white spaces, hashtags, and mentions are all dirty text which needs to be cleaned. Moreover, digits are essential in this case because errors mostly have significant meaning against each digit or number present inside the text. That is why digits are not removed here. To overcome the bias issue and complexity in the text for machines, case folding is important to do. Figure 12 illustrates the results of case folding, where all text has been converted into a lowercase using the Python library [19]. After successful cleaning, it is time for data transformation. The type column of the dataset is a categorical type. To transform it into a numeric type, the LabelEncoding library is used. Labels of the dataset followed the following convention, as shown in Figure 13.  
Traditionally, the machine learning preprocessing completes after the label encoding process. However, as this is text data, one more step, known as the feature vector representation, is implemented.