@Override
protected void reduce(Text key, Iterable<PartialGradientDescentWritable> values, Context context) throws IOException, InterruptedException {
			
	Iterator<PartialGradientDescentWritable> iterator = values.iterator();
	int m = 0;
  double sum0 = 0;
  double sum1 = 0;
  
  //Summing all partial gradients received from Mappers
  while(iterator.hasNext()) {
      PartialGradientDescentWritable customWritable = iterator.next();
      sum0 += customWritable.getSum0();
      sum1 += customWritable.getSum1();
      m += customWritable.getCount();
   }

  //updating thetas
  double theta0 = theta[0] - (alpha*sum0)/m;
  double theta1 = theta[1] - (alpha*sum1)/m;

  String outputText = theta0 + "," + theta1;
  context.write(new Text("new-theta:"), new Text(outputText));		
}