KDDCupFactorizablePreferences factorizablePreferences =
new KDDCupFactorizablePreferences(KDDCupDataModel.getTrainingFile(dataFileDirectory));
Factorizer sgdFactorizer = new ParallelArraysSGDFactorizer(factorizablePreferences, numFeatures, numIterations,
learningRate, preventOverfitting, randomNoise);
Factorization factorization = sgdFactorizer.factorize();
log.info("Estimating validation preferences...");
int prefsProcessed = 0;
RunningAverage average = new FullRunningAverage();
for (Pair<PreferenceArray,long[]> validationPair :