static void crossValidationRandomForest(String inputFileNameX, String inputFileNameY) {
		ArrayList<Sample> allSamples = Parser.parse(inputFileNameX, inputFileNameY);
		System.out.println("Random Forest");
		int[] numTrees = {80,100};
		double[] numSubSampleRatios = {0.8, 0.85};
		double[] numFeaturesRatios = {0.2, 0.3};
		
		for (int numTree : numTrees) {
			for (double numSubSampleRatio : numSubSampleRatios) {
				for (double numFeaturesRatio : numFeaturesRatios) {
					Collections.shuffle(allSamples);
					ArrayList<Double> errorRates = new ArrayList<Double>();
					for (int i = 0; i < 10; i++) {
						ArrayList<Sample> trainSample = new ArrayList<Sample>();
						ArrayList<Sample> testSample = new ArrayList<Sample>();
						
						for (int j = 0; j < 345; j++) {
							testSample.add(allSamples.get(j));
						}
						for (int k = 345; k < 3450; k++) {
							trainSample.add(allSamples.get(k));
						}
						
						RandomForest randomForsest = new RandomForest(trainSample, numTree, numSubSampleRatio, numFeaturesRatio);
						randomForsest.classifyAll(testSample);
						double errorRate = getErrorRate(testSample);
						errorRates.add(errorRate);
						
						for (int m = 0; m < 345; m++) {
							allSamples.add(allSamples.remove(0));
						}
					}
					System.out.println(numTree + ", " + numSubSampleRatio + ", " + numFeaturesRatio + ", " + getAvgErrorRate(errorRates));
				}
			}
		}
	}