List of usage examples for weka.core.stats NumericStats getStats
public double[] getStats()
From source file:distributed.core.DistributedUtils.java
License:Open Source License
public static NumericStats getNumericAttributeStatsSparse(Instances denormalized, int attIndex) { NumericStats ns = new NumericStats(denormalized.attribute(attIndex).name()); for (int j = 0; j < denormalized.numInstances(); j++) { double value = denormalized.instance(j).value(attIndex); if (Utils.isMissingValue(value) || value == 0) { ns.getStats()[ArffSummaryNumericMetric.MISSING.ordinal()]++; } else {// w ww.j ava 2 s . c o m ns.getStats()[ArffSummaryNumericMetric.COUNT.ordinal()]++; ns.getStats()[ArffSummaryNumericMetric.SUM.ordinal()] += value; ns.getStats()[ArffSummaryNumericMetric.SUMSQ.ordinal()] += value * value; if (Double.isNaN(ns.getStats()[ArffSummaryNumericMetric.MIN.ordinal()])) { ns.getStats()[ArffSummaryNumericMetric.MIN .ordinal()] = ns.getStats()[ArffSummaryNumericMetric.MAX.ordinal()] = value; } else if (value < ns.getStats()[ArffSummaryNumericMetric.MIN.ordinal()]) { ns.getStats()[ArffSummaryNumericMetric.MIN.ordinal()] = value; } else if (value > ns.getStats()[ArffSummaryNumericMetric.MAX.ordinal()]) { ns.getStats()[ArffSummaryNumericMetric.MAX.ordinal()] = value; } } } ns.computeDerived(); return ns; }
From source file:distributed.core.DistributedUtils.java
License:Open Source License
public static Instances makeHeaderWithSummaryAtts(Instances denormalized, boolean treatZerosAsMissing) { Instances header = new Instances(denormalized, 0); for (int i = 0; i < denormalized.numAttributes(); i++) { AttributeStats stats = denormalized.attributeStats(i); if (denormalized.attribute(i).isNumeric()) { NumericStats ns = new NumericStats(denormalized.attribute(i).name()); if (!treatZerosAsMissing) { ns.getStats()[ArffSummaryNumericMetric.MIN.ordinal()] = stats.numericStats.min; ns.getStats()[ArffSummaryNumericMetric.MAX.ordinal()] = stats.numericStats.max; ns.getStats()[ArffSummaryNumericMetric.COUNT.ordinal()] = stats.numericStats.count; ns.getStats()[ArffSummaryNumericMetric.SUM.ordinal()] = stats.numericStats.sum; ns.getStats()[ArffSummaryNumericMetric.SUMSQ.ordinal()] = stats.numericStats.sumSq; ns.getStats()[ArffSummaryNumericMetric.MISSING.ordinal()] = stats.missingCount; ns.computeDerived();// ww w.ja v a 2 s . c o m } else { ns = getNumericAttributeStatsSparse(denormalized, i); } Attribute newAtt = ns.makeAttribute(); header.insertAttributeAt(newAtt, header.numAttributes()); } else if (denormalized.attribute(i).isNominal()) { NominalStats nom = new NominalStats(denormalized.attribute(i).name()); nom.setNumMissing(stats.missingCount); double[] labelFreqs = stats.nominalWeights; for (int j = 0; j < denormalized.attribute(i).numValues(); j++) { nom.add(denormalized.attribute(i).value(j), labelFreqs[j]); } Attribute newAtt = nom.makeAttribute(); header.insertAttributeAt(newAtt, header.numAttributes()); } } return header; }