@Override public double variance(int arg0) { return super.variance(arg0); }
private void checkVariance(long[] weightedValues, long var, double tol) { double varDouble = Double.longBitsToDouble(var); Instances inst = getNumericInstances(); for (int i = 0; i < weightedValues.length; i += 2) { inst.add(new DenseInstance( Double.longBitsToDouble(weightedValues[i + 1]), new double[]{Double.longBitsToDouble(weightedValues[i])} )); } assertEquals("Inaccurate variance calculation!", varDouble, inst.variance(0), Math.abs(varDouble*tol)); assertEquals("Inaccurate variance calculation!", varDouble, inst.variances()[0], Math.abs(varDouble*tol)); }
@Override public double variance(Attribute att) { return super.variance(att); }
private void checkVariance(long[] weightedValues, long var, double tol) { double varDouble = Double.longBitsToDouble(var); Instances inst = getNumericInstances(); for (int i = 0; i < weightedValues.length; i += 2) { inst.add(new DenseInstance( Double.longBitsToDouble(weightedValues[i + 1]), new double[]{Double.longBitsToDouble(weightedValues[i])} )); } assertEquals("Inaccurate variance calculation!", varDouble, inst.variance(0), Math.abs(varDouble*tol)); assertEquals("Inaccurate variance calculation!", varDouble, inst.variances()[0], Math.abs(varDouble*tol)); }
/** * Computes the variance for a numeric attribute. * * @param att the numeric attribute * @return the variance if the attribute is numeric * @throws IllegalArgumentException if the attribute is not numeric */ public/* @pure@ */double variance(Attribute att) { return variance(att.index()); }
/** * Tests the behavior of the {@link Instances.variance} and * {@link Instances.variances} methods. */ public void testVarianceBehavior() { Instances inst; // weight <= 1 leads to NaN variance: inst = getNumericInstances(); addWeightedValues(inst, 100, 0.5); assertTrue("Instances.variance not NaN for weight <= 1!", Double.isNaN(inst.variance(0))); assertTrue("Instances.variance not NaN for weight <= 1!", Double.isNaN(inst.variances()[0])); // even if count > 1, weight <= 1 leads to NaN variance: inst = getNumericInstances(); addWeightedValues(inst, 100, 0.5, 100, 0.3); assertTrue("Instances.variance not NaN for weight <= 1!", Double.isNaN(inst.variance(0))); assertTrue("Instances.variance not NaN for weight <= 1!", Double.isNaN(inst.variances()[0])); }
/** * Computes the variance for a numeric attribute. * * @param att the numeric attribute * @return the variance if the attribute is numeric * @throws IllegalArgumentException if the attribute is not numeric */ public/* @pure@ */double variance(Attribute att) { return variance(att.index()); }
/** * Tests the behavior of the {@link Instances.variance} and * {@link Instances.variances} methods. */ public void testVarianceBehavior() { Instances inst; // weight <= 1 leads to NaN variance: inst = getNumericInstances(); addWeightedValues(inst, 100, 0.5); assertTrue("Instances.variance not NaN for weight <= 1!", Double.isNaN(inst.variance(0))); assertTrue("Instances.variance not NaN for weight <= 1!", Double.isNaN(inst.variances()[0])); // even if count > 1, weight <= 1 leads to NaN variance: inst = getNumericInstances(); addWeightedValues(inst, 100, 0.5, 100, 0.3); assertTrue("Instances.variance not NaN for weight <= 1!", Double.isNaN(inst.variance(0))); assertTrue("Instances.variance not NaN for weight <= 1!", Double.isNaN(inst.variances()[0])); }
m_modelNormal[i][j][1] = Math.sqrt(inst.variance(j)); if ((m_modelNormal[i][j][1] <= minStdD)) { m_modelNormal[i][j][1] = minStdD;
m_modelNormal[i][j][1] = Math.sqrt(inst.variance(j)); if ((m_modelNormal[i][j][1] <= minStdD)) { m_modelNormal[i][j][1] = minStdD;
(input.classIndex() != i)) { m_Means[i] = input.meanOrMode(i); m_StdDevs[i] = Math.sqrt(input.variance(i));
(input.classIndex() != i)) { m_Means[i] = input.meanOrMode(i); m_StdDevs[i] = Math.sqrt(input.variance(i));
for (int i = 0; i < exi.numAttributes(); i++) { xBar[i] = exi.meanOrMode(i); sSq[i] = exi.variance(i);
var[i] = ex.relationalValue(1).variance(i);
double stdv = stdD.instance(i).value(j); if (stdv < minStdD) { stdv = Math.sqrt(inst.variance(j)); if (Double.isInfinite(stdv)) { stdv = minStdD;
double stdv = stdD.instance(i).value(j); if (stdv < minStdD) { stdv = Math.sqrt(inst.variance(j)); if (Double.isInfinite(stdv)) { stdv = minStdD;
public void testTypical() { Instances result = useFilter(); // Number of attributes and instances shouldn't change assertEquals(m_Instances.numAttributes(), result.numAttributes()); assertEquals(m_Instances.numInstances(), result.numInstances()); // Check conversion is OK for (int j = 0; j < result.numAttributes(); j++) { if (result.attribute(j).isNumeric()) { double mean = result.meanOrMode(j); assertTrue("Mean should be 0", Utils.eq(mean, 0)); double stdDev = Math.sqrt(result.variance(j)); assertTrue("StdDev should be 1 (or 0)", Utils.eq(stdDev, 0) || Utils.eq(stdDev, 1)); } } }
public void testTypical() { Instances result = useFilter(); // Number of attributes and instances shouldn't change assertEquals(m_Instances.numAttributes(), result.numAttributes()); assertEquals(m_Instances.numInstances(), result.numInstances()); // Check conversion is OK for (int j = 0; j < result.numAttributes(); j++) { if (result.attribute(j).isNumeric()) { double mean = result.meanOrMode(j); assertTrue("Mean should be 0", Utils.eq(mean, 0)); double stdDev = Math.sqrt(result.variance(j)); assertTrue("StdDev should be 1 (or 0)", Utils.eq(stdDev, 0) || Utils.eq(stdDev, 1)); } } }
for (int i = 0; i < m_Dimension; i++) { m_Mean[x][i] = example.relationalValue(1).meanOrMode(i); m_Variance[x][i] = example.relationalValue(1).variance(i); if (Utils.eq(m_Variance[x][i], 0.0)) { m_Variance[x][i] = m_ZERO; for (int i = 0; i < m_Dimension; i++) { m_ValidM[x][i] = example.relationalValue(1).meanOrMode(i); m_ValidV[x][i] = example.relationalValue(1).variance(i); if (Utils.eq(m_ValidV[x][i], 0.0)) { m_ValidV[x][i] = m_ZERO;
case PREPROCESSING_STANDARDIZE: m_ClassMean = instances.meanOrMode(instances.classIndex()); m_ClassStdDev = StrictMath.sqrt(instances.variance(instances .classIndex())); m_Filter = new Standardize();