@Override
	public Map<Object, Double> calculateProbabilityForClassifications(double[] x) {
		Map<Object, Double> probs = new HashMap<Object, Double>();
		for(int i = 0; i < x.length; i++){
			for(Object c : this.classCount.keySet()){
				double prob = this.probability(x[i], c, i);
				if(!probs.containsKey(c)) probs.put(c, prob);
				else probs.put(c, probs.get(c)+prob);
			}
		}
		for(int i = 0; i < x.length; i++){
			for(Object o : probs.keySet()){
				double estimatedProb = this.ke.get(o).get(i).probability(x[i]);
				probs.put(o, estimatedProb * probs.get(o));
			}
		}
		Utils.percentify(probs);
		return probs;
	}