:PROPERTIES: :ID: 06b2a012-4e8a-4a8a-9494-de7ed9fbe1d3 :END: #+title: ise_week_1 #+filetags: :uni:notes: * Bug report classification Perform bug report classification with AI following the steps below: - Text filtering - Stemming - Indexing - Train machine learning models, i.e., Decision Tree, Naive Bayes, and Logistic Regression - Prediction (after data pre-processing) ** Text filtering: - Punctuation removal - Specific transformations occur: the myUser has no meaning, its just a word. You need to split it into two meaningful words. - Stop words should not be removed, as it changes the whole meaning of a bug report. - Unlike other NLP tasks, removing stop words may distort the meaning of bug reports. ** Stemming: - Stemming reduces different forms of a word to its common base by sequential application of stemming rules. For example: light caresses colours becomes Light caress colour ** Indexing: - Indexing: we need to convert the text into numeric representation, there are two common ways of doing this: TF and IDF - TF: total words / specific word . for example: "bug" appears 50 times in a 150 terms. - IDF: We penalise certain words based on their frequency. - bug report classifications here often does not use IDF but TF, because some frequent terms should not be penalized - For each report, we will have a vector of indexing for words in the reports according to a dictionary - Example: A bug report = {“this”, “bugs”, “failure”, “interesting”, …} Vector = <0.123, 0.34, 0.1, ….> ** DT - What is decision tree: a tree structure that split the data depending on different values. - Each node is a test on the attribute. - Each branch represents the outcome. ** NB - What is Naive Bayes? Classifier based on the conditional probability given by the Bayes theorem. - Calculating the probability of each class, and classify the given features into the one with higher probability. ** LR - What is logistic regression: a linear model for classification - Fitting the logistic growth and the sigmoid midpoint - Output a probability, but can use a cutoff point to decide class. ** Results: Choose the top 20/50 words when theyre used as a feature