diff --git a/src/main/java/be/cylab/java/wowa/training/Utils.java b/src/main/java/be/cylab/java/wowa/training/Utils.java index 4e2972538cf25b537ae6840a6778efac474abe75..43ee8d3f07f6a0aa0d2fb38c01a77ed0347bb010 100644 --- a/src/main/java/be/cylab/java/wowa/training/Utils.java +++ b/src/main/java/be/cylab/java/wowa/training/Utils.java @@ -5,10 +5,7 @@ import com.owlike.genson.Genson; import info.debatty.java.aggregation.WOWA; import org.apache.commons.lang3.ArrayUtils; -import java.io.BufferedWriter; -import java.io.FileWriter; -import java.io.IOException; -import java.io.PrintWriter; +import java.io.*; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Paths; @@ -363,15 +360,15 @@ final class Utils { //True positive rate. double wowa_true_positive_rate = wowa_true_positive_counter - / wowa_positive_condition; + / (double) wowa_positive_condition; double average_true_positive_rate = average_true_positive_counter - / average_positive_condition; + / (double) average_positive_condition; //True negative rate. double wowa_true_negative_rate = wowa_true_negative_counter - / wowa_negative_condition; + / (double) wowa_negative_condition; double average_true_negative_rate = average_true_negative_counter - / average_negative_condition; + / (double) average_negative_condition; //False negative rate. double wowa_false_negative_rate = 1 - wowa_true_positive_rate; @@ -472,42 +469,42 @@ final class Utils { final double wowa_false_omission_rate, final double wowa_accuracy, final double wowa_f_1) { - try (FileWriter fw = new FileWriter(filename, true); - BufferedWriter bw = new BufferedWriter(fw); - PrintWriter writer = new PrintWriter(bw)) { + try (OutputStreamWriter writer = new OutputStreamWriter( + new FileOutputStream(filename), + StandardCharsets.UTF_8)) { - writer.println("___________________________________________"); - writer.println("|TRIGGER VALUE :" + trigger_value); - writer.println("|_________________________________________|"); - writer.println("WOWA"); + writer.write("___________________________________________"); + writer.write("|TRIGGER VALUE :" + trigger_value); + writer.write("|_________________________________________|"); + writer.write("WOWA"); - writer.println("Wowa true positive : " + writer.write("Wowa true positive : " + wowa_true_positive_counter); - writer.println("Wowa true negative : " + writer.write("Wowa true negative : " + wowa_true_negative_counter); - writer.println("Wowa false positive : " + writer.write("Wowa false positive : " + wowa_false_positive_counter); - writer.println("Wowa false negative : " + writer.write("Wowa false negative : " + wowa_false_negative_counter); - writer.println("Wowa true positive rate : " + writer.write("Wowa true positive rate : " + wowa_true_positive_rate); - writer.println("Wowa true negative rate : " + writer.write("Wowa true negative rate : " + wowa_true_negative_rate); - writer.println("Wowa false positive rate : " + writer.write("Wowa false positive rate : " + wowa_false_positive_rate); - writer.println("Wowa false negative rate : " + writer.write("Wowa false negative rate : " + wowa_false_negative_rate); - writer.println("Wowa precision : " + wowa_precision); - writer.println("Wowa negative predictive value : " + writer.write("Wowa precision : " + wowa_precision); + writer.write("Wowa negative predictive value : " + wowa_negative_prediction_value); - writer.println("Wowa false discovery rate : " + writer.write("Wowa false discovery rate : " + wowa_false_discovery_rate); - writer.println("Wowa false omission rate : " + writer.write("Wowa false omission rate : " + wowa_false_omission_rate); - writer.println("Wowa accuracy : " + wowa_accuracy); - writer.println("Wowa F1 score : " + wowa_f_1 + "\n"); + writer.write("Wowa accuracy : " + wowa_accuracy); + writer.write("Wowa F1 score : " + wowa_f_1 + "\n"); } catch (IOException e) { e.printStackTrace(); @@ -531,41 +528,41 @@ final class Utils { final double average_false_omission_rate, final double average_accuracy, final double average_f_1) { - try (FileWriter fw = new FileWriter(filename, true); - BufferedWriter bw = new BufferedWriter(fw); - PrintWriter writer = new PrintWriter(bw)) { - - writer.println("___________________________________________"); - writer.println("|TRIGGER VALUE :" + trigger_value); - writer.println("|_________________________________________|"); - writer.println("AVERAGE"); - writer.println("Average true positive : " + try (OutputStreamWriter writer = new OutputStreamWriter( + new FileOutputStream(filename), + StandardCharsets.UTF_8)) { + + writer.write("___________________________________________"); + writer.write("|TRIGGER VALUE :" + trigger_value); + writer.write("|_________________________________________|"); + writer.write("AVERAGE"); + writer.write("Average true positive : " + average_true_positive_counter); - writer.println("Average true negative : " + writer.write("Average true negative : " + average_true_negative_counter); - writer.println("Average false positive : " + writer.write("Average false positive : " + average_false_positive_counter); - writer.println("Average false negative : " + writer.write("Average false negative : " + average_false_negative_counter); - writer.println("Average true positive rate : " + writer.write("Average true positive rate : " + average_true_positive_rate); - writer.println("Average true negative rate : " + writer.write("Average true negative rate : " + average_true_negative_rate); - writer.println("Average false positive rate : " + writer.write("Average false positive rate : " + average_false_positive_rate); - writer.println("Average false negative rate : " + writer.write("Average false negative rate : " + average_false_negative_rate); - writer.println("Average precision : " + average_precision); - writer.println("Average negative predictive value : " + writer.write("Average precision : " + average_precision); + writer.write("Average negative predictive value : " + average_negative_prediction_value); - writer.println("Average false discovery rate : " + writer.write("Average false discovery rate : " + average_false_discovery_rate); - writer.println("Average false omission rate : " + writer.write("Average false omission rate : " + average_false_omission_rate); - writer.println("Average accuracy : " + average_accuracy); - writer.println("Average F1 score : " + average_f_1); + writer.write("Average accuracy : " + average_accuracy); + writer.write("Average F1 score : " + average_f_1); } catch (IOException e) { e.printStackTrace(); }