package efruchter.project3;
import java.util.*;
import java.io.*;
/**
* Calculates root mean square error for two sets of data
*/
public class CalculateRMSE {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
try {
BufferedReader br1 = new BufferedReader(new FileReader(new File("src/efruchter/project3/a.txt")));
BufferedReader br2 = new BufferedReader(new FileReader(new File("src/efruchter/project3/b.txt")));
System.out.println("Enter the number of instances in this data set>>");
int numInstances = scan.nextInt();
double total = 0;
int counter = 0;
for(int i = 0; i < numInstances; i++) {
Scanner scan1 = new Scanner(br1.readLine());
Scanner scan2 = new Scanner(br2.readLine());
scan1.useDelimiter(",");
scan2.useDelimiter(",");
double a, b;
do {
a = Double.parseDouble(scan1.next());
b = Double.parseDouble(scan2.next());
total += Math.pow(Math.abs(a-b),2);
counter++;
} while(scan1.hasNext() && scan2.hasNext());
}
total /= counter;
System.out.println("Root Mean Squared Error: " + total);
}
catch(Exception e) {
System.out.println("Enter the attribute data from before and after PCA / RA into a.txt and b.txt.");
e.printStackTrace();
}
}
}