From 786d6a06847b217bdad53804f8a6c79e30134ef3 Mon Sep 17 00:00:00 2001 From: Claudio Maggioni Date: Wed, 31 May 2023 18:19:44 +0200 Subject: [PATCH] documentation --- README.md | 56 ++++++- evaluate_classifiers.py | 2 + models/boxplot.svg | 334 ++++++++++++++++++++-------------------- models/model_stats.csv | 46 +++++- report/main.md | 2 +- report/main.pdf | Bin 364019 -> 364861 bytes 6 files changed, 269 insertions(+), 171 deletions(-) diff --git a/README.md b/README.md index 44b914e..edfb4df 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,62 @@ # Information Modelling & Analysis: Project 2 -Student: enter your name here +Student: Claudio Maggioni Please follow the instructions provided in the project slides and consider the submission instructions available on iCorsi. For your convencience, I the following resources are available in the `resources` folder: - **defects4j-checkout-closure-1f**: The output of the command `defects4j checkout -p Closure -v 1f -w ...` -- **modified_classes** The list of buggy classes in: `framework/projects/Closure/modified_classes/` \ No newline at end of file +- **modified_classes** The list of buggy classes in: `framework/projects/Closure/modified_classes/` + +## Setup + +To install the required libraries run: + +```shell +python3 -m venv .env +source .env/bin/activate +pip install -r requirements.txt +``` + +## Data pre-processing + +To extract and label the feature vectors run: + +```shell +python3 ./extract_feature_vectors.py +python3 ./label_feature_vectors.py +``` + +The labeled feature vectors are stored in file +`./metrics/feature_vectors_labeled.csv` from the repository root. + +## Training + +To train the classifiers with the grid search procedure defined in the report +to later extract the optimal combination of hyperparameters run: + +```shell +python3 ./train_classifiers.py +``` + +and answer `y` to run again training when prompted. Answering `n` simply +computes again data about the best hyperparameter configuration from the metrics +produced by a previous training. + +Raw cross validation training metrics are stored in `./models/models.csv`. The +optimal hyperparameter configurations found are stored in `./models/best.csv`. + +## Evaluation + +To run the 20-times 5-fold cross validation procedure delete the file +`./models/evaluation.csv` and run: + +```shell +python3 ./evaluate_classifiers.py +``` + +Raw data from the repeated cross validation procedure is stored in +`./models/evaluation.csv`. P-values for each metric of each classifier pair are +stored in `./models/model_stats.csv`. + diff --git a/evaluate_classifiers.py b/evaluate_classifiers.py index f35d7ce..abbf511 100755 --- a/evaluate_classifiers.py +++ b/evaluate_classifiers.py @@ -143,6 +143,8 @@ def main(): pvalue = wilcoxon(series_a, series_b).pvalue df_stats.loc[i, 'pvalue'] = pvalue + i += 1 + if metric not in observations: observations[metric] = [] diff --git a/models/boxplot.svg b/models/boxplot.svg index 02dc86b..7567e41 100644 --- a/models/boxplot.svg +++ b/models/boxplot.svg @@ -6,7 +6,7 @@ - 2023-05-27T22:19:21.168970 + 2023-05-31T18:07:50.660651 image/svg+xml @@ -44,7 +44,7 @@ L 106.5216 360.413793 L 87.0784 360.413793 L 87.0784 366.786207 z -" clip-path="url(#p0c45fec8d2)" style="fill: #3274a1; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/> +" clip-path="url(#p5d01fc2d82)" style="fill: #3274a1; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/> +" clip-path="url(#p5d01fc2d82)" style="fill: #e1812c; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/> +" clip-path="url(#p5d01fc2d82)" style="fill: #3a923a; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/> +" clip-path="url(#p5d01fc2d82)" style="fill: #c03d3e; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/> +" clip-path="url(#p5d01fc2d82)" style="fill: #9372b2; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/> +" clip-path="url(#p5d01fc2d82)" style="fill: #845b53; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/> +" clip-path="url(#p5d01fc2d82)" style="fill: #3274a1; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/> +" clip-path="url(#p5d01fc2d82)" style="fill: #e1812c; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/> +" clip-path="url(#p5d01fc2d82)" style="fill: #3a923a; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/> +" clip-path="url(#p5d01fc2d82)" style="fill: #c03d3e; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/> +" clip-path="url(#p5d01fc2d82)" style="fill: #9372b2; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/> +" clip-path="url(#p5d01fc2d82)" style="fill: #845b53; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/> +" clip-path="url(#p5d01fc2d82)" style="fill: #3274a1; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/> +" clip-path="url(#p5d01fc2d82)" style="fill: #e1812c; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/> +" clip-path="url(#p5d01fc2d82)" style="fill: #3a923a; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/> +" clip-path="url(#p5d01fc2d82)" style="fill: #c03d3e; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/> +" clip-path="url(#p5d01fc2d82)" style="fill: #9372b2; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/> +" clip-path="url(#p5d01fc2d82)" style="fill: #845b53; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/> +" clip-path="url(#p5d01fc2d82)" style="fill: #3274a1; stroke: #3d3d3d; stroke-width: 0.75; stroke-linejoin: miter"/> +" clip-path="url(#p5d01fc2d82)" style="fill: #e1812c; stroke: #3d3d3d; stroke-width: 0.75; stroke-linejoin: miter"/> +" clip-path="url(#p5d01fc2d82)" style="fill: #3a923a; stroke: #3d3d3d; stroke-width: 0.75; stroke-linejoin: miter"/> +" clip-path="url(#p5d01fc2d82)" style="fill: #c03d3e; stroke: #3d3d3d; stroke-width: 0.75; stroke-linejoin: miter"/> +" clip-path="url(#p5d01fc2d82)" style="fill: #9372b2; stroke: #3d3d3d; stroke-width: 0.75; stroke-linejoin: miter"/> +" clip-path="url(#p5d01fc2d82)" style="fill: #845b53; stroke: #3d3d3d; stroke-width: 0.75; stroke-linejoin: miter"/> - - + @@ -452,7 +452,7 @@ z - + @@ -512,7 +512,7 @@ z - + @@ -615,12 +615,12 @@ z - - + @@ -665,7 +665,7 @@ z - + @@ -680,7 +680,7 @@ z - + @@ -721,7 +721,7 @@ z - + @@ -770,7 +770,7 @@ z - + @@ -806,7 +806,7 @@ z - + @@ -848,7 +848,7 @@ z - + @@ -895,7 +895,7 @@ z - + @@ -922,7 +922,7 @@ z - + @@ -978,7 +978,7 @@ z - + @@ -1025,7 +1025,7 @@ z - + @@ -1093,532 +1093,532 @@ z +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> - - - + + +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> - - + + +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> - - + + +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> - - - - - - + + + + + + +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> - - + + +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> - - - + + + +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> - - + + +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> - - - - - - - - - + + + + + + + + + +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> - - - + + + +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> - - - + + + +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> +" clip-path="url(#p5d01fc2d82)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/> + diff --git a/models/model_stats.csv b/models/model_stats.csv index db9a1ba..adc1330 100644 --- a/models/model_stats.csv +++ b/models/model_stats.csv @@ -1,2 +1,46 @@ ,classifier_a,classifier_b,metric,pvalue -1,BiasedClassifier,SVC,f1,4.337936940303975e-17 +1,DecisionTreeClassifier,GaussianNB,precision,0.08929133280531223 +2,DecisionTreeClassifier,GaussianNB,recall,3.877480505802584e-18 +3,DecisionTreeClassifier,GaussianNB,f1,3.896340037647931e-18 +4,DecisionTreeClassifier,MLPClassifier,precision,0.4012348497407896 +5,DecisionTreeClassifier,MLPClassifier,recall,0.011820059675817408 +6,DecisionTreeClassifier,MLPClassifier,f1,0.4710651684151138 +7,DecisionTreeClassifier,RandomForestClassifier,precision,8.283473187323235e-12 +8,DecisionTreeClassifier,RandomForestClassifier,recall,0.3276029575034267 +9,DecisionTreeClassifier,RandomForestClassifier,f1,1.4515097813437996e-10 +10,DecisionTreeClassifier,SVC,precision,6.472995016722292e-16 +11,DecisionTreeClassifier,SVC,recall,3.864155888689142e-18 +12,DecisionTreeClassifier,SVC,f1,3.896559845095909e-18 +13,GaussianNB,MLPClassifier,precision,0.03476088049603166 +14,GaussianNB,MLPClassifier,recall,3.873544128513129e-18 +15,GaussianNB,MLPClassifier,f1,3.896120241954008e-18 +16,GaussianNB,RandomForestClassifier,precision,5.027978595522601e-10 +17,GaussianNB,RandomForestClassifier,recall,3.8656827355135645e-18 +18,GaussianNB,RandomForestClassifier,f1,3.896120241954008e-18 +19,GaussianNB,SVC,precision,7.361006463422299e-13 +20,GaussianNB,SVC,recall,3.881639684405151e-18 +21,GaussianNB,SVC,f1,4.265842540306607e-18 +22,MLPClassifier,RandomForestClassifier,precision,2.9302015489842885e-09 +23,MLPClassifier,RandomForestClassifier,recall,0.00010909237805840521 +24,MLPClassifier,RandomForestClassifier,f1,1.1542838431590428e-11 +25,MLPClassifier,SVC,precision,3.6744416439536415e-16 +26,MLPClassifier,SVC,recall,5.645631221640026e-18 +27,MLPClassifier,SVC,f1,5.112831740936498e-18 +28,RandomForestClassifier,SVC,precision,4.0161556854627e-18 +29,RandomForestClassifier,SVC,recall,3.8584897469079895e-18 +30,RandomForestClassifier,SVC,f1,3.896559845095909e-18 +31,BiasedClassifier,DecisionTreeClassifier,precision,3.881858705649312e-18 +32,BiasedClassifier,DecisionTreeClassifier,recall,1.0267247842714985e-14 +33,BiasedClassifier,DecisionTreeClassifier,f1,3.881858705649312e-18 +34,BiasedClassifier,GaussianNB,precision,3.876167958900271e-18 +35,BiasedClassifier,GaussianNB,recall,3.7861845925093915e-18 +36,BiasedClassifier,GaussianNB,f1,4.22499456189738e-16 +37,BiasedClassifier,MLPClassifier,precision,3.887338045617697e-18 +38,BiasedClassifier,MLPClassifier,recall,2.2417567344517687e-15 +39,BiasedClassifier,MLPClassifier,f1,3.886680137925553e-18 +40,BiasedClassifier,RandomForestClassifier,precision,3.8798879361158955e-18 +41,BiasedClassifier,RandomForestClassifier,recall,4.647240654275836e-14 +42,BiasedClassifier,RandomForestClassifier,f1,3.8798879361158955e-18 +43,BiasedClassifier,SVC,precision,3.890848669938197e-18 +44,BiasedClassifier,SVC,recall,3.803119001919453e-18 +45,BiasedClassifier,SVC,f1,4.337936940303975e-17 diff --git a/report/main.md b/report/main.md index f228be4..31fe32c 100644 --- a/report/main.md +++ b/report/main.md @@ -21,7 +21,7 @@ expected info, you'll be fine.--> The code and result files, part of this submission, can be found at: - Repository: [https://github.com/infoMA2023/project-02-bug-prediction-maggicl](https://github.com/infoMA2023/project-02-bug-prediction-maggicl) -- Commit ID: **TBD** +- Commit ID: **5f30b3b71b50b28f4c870ff114a760ece1005531** # Data Pre-Processing diff --git a/report/main.pdf b/report/main.pdf index ebaa275c989d156d12fedbc4a1f1a78c0dadcdd9..eada68f0c57be25e96403eeade142ffe8aff1be5 100644 GIT binary patch delta 35752 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

18L0i)M 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 delta 34958 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