+ newEst.getProbability(current)); newEst.addValue(current, 1);
+ newEst.getProbability(current)); newEst.addValue(current, 1);
+ newEst.getProbability(current)); newEst.addValue(current, 1);
+ newEst.getProbability(current)); newEst.addValue(current, 1);
System.out.println(newEst); System.out.println("Prediction for " + current + " = " + newEst.getProbability(current)); newEst.addValue(current, 1);
System.out.println(newEst); System.out.println("Prediction for " + current + " = " + newEst.getProbability(current)); newEst.addValue(current, 1);
protected static void testAggregation() { DiscreteEstimator df = new DiscreteEstimator(5, true); DiscreteEstimator one = new DiscreteEstimator(5, true); DiscreteEstimator two = new DiscreteEstimator(5, true); java.util.Random r = new java.util.Random(1); for (int i = 0; i < 100; i++) { int z = r.nextInt(5); df.addValue(z, 1); if (i < 50) { one.addValue(z, 1); } else { two.addValue(z, 1); } } try { System.out.println("\n\nFull\n"); System.out.println(df.toString()); System.out.println("Prob (0): " + df.getProbability(0)); System.out.println("\nOne\n" + one.toString()); System.out.println("Prob (0): " + one.getProbability(0)); System.out.println("\nTwo\n" + two.toString()); System.out.println("Prob (0): " + two.getProbability(0)); one = one.aggregate(two); System.out.println("\nAggregated\n"); System.out.println(one.toString()); System.out.println("Prob (0): " + one.getProbability(0)); } catch (Exception ex) { ex.printStackTrace(); } }
protected static void testAggregation() { DiscreteEstimator df = new DiscreteEstimator(5, true); DiscreteEstimator one = new DiscreteEstimator(5, true); DiscreteEstimator two = new DiscreteEstimator(5, true); java.util.Random r = new java.util.Random(1); for (int i = 0; i < 100; i++) { int z = r.nextInt(5); df.addValue(z, 1); if (i < 50) { one.addValue(z, 1); } else { two.addValue(z, 1); } } try { System.out.println("\n\nFull\n"); System.out.println(df.toString()); System.out.println("Prob (0): " + df.getProbability(0)); System.out.println("\nOne\n" + one.toString()); System.out.println("Prob (0): " + one.getProbability(0)); System.out.println("\nTwo\n" + two.toString()); System.out.println("Prob (0): " + two.getProbability(0)); one = one.aggregate(two); System.out.println("\nAggregated\n"); System.out.println(one.toString()); System.out.println("Prob (0): " + one.getProbability(0)); } catch (Exception ex) { ex.printStackTrace(); } }
/** * Get a probability estimator for a value * * @param given the new value that data is conditional upon * @return the estimator for the supplied value given the condition */ public Estimator getEstimator(double given) { Estimator result = new DiscreteEstimator(m_Estimators.length,false); for(int i = 0; i < m_Estimators.length; i++) { result.addValue(i,m_Weights.getProbability(i) *m_Estimators[i].getProbability(given)); } return result; }
/** * Get a probability estimator for a value * * @param given the new value that data is conditional upon * @return the estimator for the supplied value given the condition */ public Estimator getEstimator(double given) { Estimator result = new DiscreteEstimator(m_Estimators.length,false); for(int i = 0; i < m_Estimators.length; i++) { result.addValue(i,m_Weights.getProbability(i) *m_Estimators[i].getProbability(given)); } return result; }
/** * Get a probability estimator for a value * * @param given the new value that data is conditional upon * @return the estimator for the supplied value given the condition */ public Estimator getEstimator(double given) { Estimator result = new DiscreteEstimator(m_Estimators.length,false); for(int i = 0; i < m_Estimators.length; i++) { //System.out.println("Val " + i // + " Weight:" + m_Weights.getProbability(i) // +" EstProb(" + given + ")=" // + m_Estimators[i].getProbability(given)); result.addValue(i, m_Weights.getProbability(i) * m_Estimators[i].getProbability(given)); } return result; }
/** * Get a probability estimator for a value * * @param given the new value that data is conditional upon * @return the estimator for the supplied value given the condition */ public Estimator getEstimator(double given) { Estimator result = new DiscreteEstimator(m_Estimators.length,false); for(int i = 0; i < m_Estimators.length; i++) { //System.out.println("Val " + i // + " Weight:" + m_Weights.getProbability(i) // +" EstProb(" + given + ")=" // + m_Estimators[i].getProbability(given)); result.addValue(i, m_Weights.getProbability(i) * m_Estimators[i].getProbability(given)); } return result; }
((DiscreteEstimator) m_ClassDistribution).getProbability(i), maxWidth, 2).trim(); priorP = "(" + priorP + ")"; for (int i = 0; i < m_Instances.numClasses(); i++) { String priorP = Utils.doubleToString( ((DiscreteEstimator) m_ClassDistribution).getProbability(i), maxWidth, 2).trim(); priorP = "(" + priorP + ")";
((DiscreteEstimator) m_ClassDistribution).getProbability(i), maxWidth, 2).trim(); priorP = "(" + priorP + ")"; for (int i = 0; i < m_Instances.numClasses(); i++) { String priorP = Utils.doubleToString( ((DiscreteEstimator) m_ClassDistribution).getProbability(i), maxWidth, 2).trim(); priorP = "(" + priorP + ")";
if (!inst.isMissing(j)) { if (inst.attribute(j).isNominal()) { logprob += Math.log(m_model[i][j].getProbability(inst.value(j))); } else { // numeric attribute logprob += logNormalDens(inst.value(j), m_modelNormal[i][j][0],
if (!inst.isMissing(j)) { if (inst.attribute(j).isNominal()) { logprob += Math.log(m_model[i][j].getProbability(inst.value(j))); } else { // numeric attribute logprob += logNormalDens(inst.value(j), m_modelNormal[i][j][0],