本文整理匯總了Java中org.apache.commons.math3.stat.descriptive.DescriptiveStatistics.addValue方法的典型用法代碼示例。如果您正苦於以下問題:Java DescriptiveStatistics.addValue方法的具體用法?Java DescriptiveStatistics.addValue怎麽用?Java DescriptiveStatistics.addValue使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類org.apache.commons.math3.stat.descriptive.DescriptiveStatistics
的用法示例。
在下文中一共展示了DescriptiveStatistics.addValue方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: acrossLabels
import org.apache.commons.math3.stat.descriptive.DescriptiveStatistics; //導入方法依賴的package包/類
@Override
public final DescriptiveStatistics acrossLabels(
final List<? extends Predictions<? extends E[], ? extends Collection<? extends P>>>[] predictions) {
final DescriptiveStatistics stats = new DescriptiveStatistics();
for (final List<? extends Predictions<? extends E[], ? extends Collection<? extends P>>> predz : Check
.size(predictions, 1, 9999999)) {
for (final Predictions<? extends E[], ? extends Collection<? extends P>> preds : predz) {
for (final double val : label(preds.getPredictions(),
(E[][]) preds.getExpected(),
preds.getWeights(),
preds.getSamples(),
preds.getLabelIndex()).getValues()) {
stats.addValue(val);
}
}
}
Check.num(stats.getN(), 1, 999999999);
return stats;
}
示例2: acrossLabels
import org.apache.commons.math3.stat.descriptive.DescriptiveStatistics; //導入方法依賴的package包/類
@Override
public DescriptiveStatistics acrossLabels(
final List<? extends Predictions<? extends Number, ? extends Number>>[] predictions) {
final DescriptiveStatistics stats = new DescriptiveStatistics();
for (final List<? extends Predictions<? extends Number, ? extends Number>> predz : predictions) {
for (final Predictions<? extends Number, ? extends Number> preds : predz) {
final Number[] pred = preds.getPredictions();
final Number[] exp = preds.getExpected();
final int labelIndex = preds.getLabelIndex();
for (int i = 0; i < pred.length; ++i) {
if (exp[i] != null) {
stats.addValue(instance(pred[i], exp[i], preds.getSample(i), labelIndex));
}
}
}
}
return stats;
}
示例3: acrossLabels
import org.apache.commons.math3.stat.descriptive.DescriptiveStatistics; //導入方法依賴的package包/類
@Override
public final DescriptiveStatistics acrossLabels(
final List<? extends Predictions<? extends E, ? extends T>>[] predictions) {
final DescriptiveStatistics stats = new DescriptiveStatistics();
for (final List<? extends Predictions<? extends E, ? extends T>> predz : predictions) {
for (final Predictions<? extends E, ? extends T> preds : predz) {
for (final double val : label(preds.getPredictions(),
preds.getExpected(),
preds.getWeights(),
preds.getSamples(),
preds.getLabelIndex()).getValues()) {
stats.addValue(val);
}
}
}
return stats;
}
示例4: findLocalMaxima
import org.apache.commons.math3.stat.descriptive.DescriptiveStatistics; //導入方法依賴的package包/類
/**
* Find local maxima in the spectrum and returns the indices of those maxima as integer
* array.
*
* @param threshold Threshold for search. Values bellow that threshold won't be considered.
* @return Array containing indices (zero-based) of local maxima.
*/
public List<Pair<Float, Double>> findLocalMaxima(double threshold, boolean significant) {
List<Pair<Float,Double>> peaks = new ArrayList<>();
for (int i=1;i<this.spectrum.length-1;i++) {
if (this.spectrum[i] < threshold) {
continue;
}
if (spectrum[i] > Math.max(spectrum[i+1], spectrum[i-1])) {
peaks.add(this.get(i));
}
}
if (significant) {
DescriptiveStatistics statistics = new DescriptiveStatistics();
for (Pair<Float, Double> peak : peaks) {
statistics.addValue(peak.second);
}
final double mean = statistics.getMean();
final double stddev = statistics.getStandardDeviation();
peaks.removeIf(p -> p.second < (mean + stddev * 2));
}
return peaks;
}
示例5: statistics
import org.apache.commons.math3.stat.descriptive.DescriptiveStatistics; //導入方法依賴的package包/類
public ReflexValue statistics(List<ReflexValue> params) {
if (params.size() != 1) {
throw new ReflexException(-1, "statistics needs one list parameter");
}
if (!params.get(0).isList()) {
throw new ReflexException(-1, "statistics needs one list parameter");
}
DescriptiveStatistics stats = new DescriptiveStatistics();
List<ReflexValue> values = params.get(0).asList();
for (ReflexValue v : values) {
stats.addValue(v.asDouble());
}
Map<String, ReflexValue> ret = new HashMap<String, ReflexValue>();
ret.put("mean", new ReflexValue(stats.getMean()));
ret.put("std", new ReflexValue(stats.getStandardDeviation()));
ret.put("median", new ReflexValue(stats.getPercentile(50)));
return new ReflexValue(ret);
}
示例6: process
import org.apache.commons.math3.stat.descriptive.DescriptiveStatistics; //導入方法依賴的package包/類
@Override
public Data process(Data item) {
int[][] singlePulses = (int[][]) item.get(singlePulsesKey);
double[] arrivalTimes = new double[singlePulses.length];
for (int pix = 0; pix < singlePulses.length; pix++) {
if (singlePulses[pix].length == 0) {
arrivalTimes[pix] = 0.; // use zero instead of NaN - plotter likes no NaN
} else {
DescriptiveStatistics stat = new DescriptiveStatistics();
for (int slice : singlePulses[pix]) {
stat.addValue((double) slice);
}
arrivalTimes[pix] = stat.getPercentile(50);
}
}
item.put(arrivalTimeKey, arrivalTimes);
return item;
}
示例7: normalize
import org.apache.commons.math3.stat.descriptive.DescriptiveStatistics; //導入方法依賴的package包/類
/**
* Normalize (standardize) the sample, so it is has a mean of 0 and a standard deviation of 1.
*
* @param sample Sample to normalize.
* @return normalized (standardized) sample.
* @since 2.2
*/
public static double[] normalize(final double[] sample) {
DescriptiveStatistics stats = new DescriptiveStatistics();
// Add the data from the series to stats
for (int i = 0; i < sample.length; i++) {
stats.addValue(sample[i]);
}
// Compute mean and standard deviation
double mean = stats.getMean();
double standardDeviation = stats.getStandardDeviation();
// initialize the standardizedSample, which has the same length as the sample
double[] standardizedSample = new double[sample.length];
for (int i = 0; i < sample.length; i++) {
// z = (x- mean)/standardDeviation
standardizedSample[i] = (sample[i] - mean) / standardDeviation;
}
return standardizedSample;
}
示例8: testQuantiles
import org.apache.commons.math3.stat.descriptive.DescriptiveStatistics; //導入方法依賴的package包/類
@Test
public void testQuantiles() {
Random r = new Random(0);
List<DataPoint> points = new ArrayList<>();
DescriptiveStatistics stats = new DescriptiveStatistics();
Distribution distribution = null;
for(int i = 0; i < 100;++i) {
double val = r.nextDouble()*1000;
DataPoint dp = (new DataPoint(i, val, null, "foo"));
points.add(dp);
stats.addValue(val);
if(distribution == null) {
distribution = new Distribution(dp, ScalingFunctions.NONE, new GlobalStatistics());
}
else {
distribution.addDataPoint(dp, ScalingFunctions.NONE);
}
}
double realMedian = stats.getPercentile(50);
double approxMedian = distribution.getMedian();
System.out.println("mean and std dev: " + stats.getMean() + ", " + Math.sqrt(stats.getVariance()));
System.out.println("Real : " + realMedian + ", approx: " + approxMedian);
Assert.assertTrue(Math.abs(realMedian - approxMedian) < 5);
}
示例9: usingApacheCommons
import org.apache.commons.math3.stat.descriptive.DescriptiveStatistics; //導入方法依賴的package包/類
public void usingApacheCommons() {
// Using Apache Commons to find mean
Mean mean = new Mean();
double average = mean.evaluate(testData);
out.println("The mean is " + average);
DescriptiveStatistics statTest
= new SynchronizedDescriptiveStatistics();
for (double num : testData) {
statTest.addValue(num);
}
out.println("The mean is " + statTest.getMean());
}
開發者ID:PacktPublishing,項目名稱:Machine-Learning-End-to-Endguide-for-Java-developers,代碼行數:15,代碼來源:Main.java
示例10: usingApacaheCommonstoCalculateMedian
import org.apache.commons.math3.stat.descriptive.DescriptiveStatistics; //導入方法依賴的package包/類
public void usingApacaheCommonstoCalculateMedian() {
// Using Apache Commons to find median
double[] testData = {12.5, 18.3, 11.2, 19.0, 22.1, 14.3, 16.2, 12.5, 17.8, 16.5, 12.5};
DescriptiveStatistics statTest
= new SynchronizedDescriptiveStatistics();
for (double num : testData) {
statTest.addValue(num);
}
out.println("The median is " + statTest.getPercentile(50));
}
開發者ID:PacktPublishing,項目名稱:Machine-Learning-End-to-Endguide-for-Java-developers,代碼行數:11,代碼來源:Main.java
示例11: calculateAggregateResultFromAggregates
import org.apache.commons.math3.stat.descriptive.DescriptiveStatistics; //導入方法依賴的package包/類
public BigDecimal[] calculateAggregateResultFromAggregates(List<Observation> sourceObs) {
BigDecimal[] result;
DescriptiveStatistics stats = new DescriptiveStatistics();
double min = Double.POSITIVE_INFINITY;
double max = Double.NEGATIVE_INFINITY;
int scale = 0;
for (Observation obs : sourceObs) {
Object input = obs.getResult();
if (input instanceof List) {
List list = (List) input;
Number number = handleResult(list.get(0));
scale = Math.max(getScale(number), scale);
stats.addValue(number.doubleValue());
min = Math.min(min, handleResult(list.get(1)).doubleValue());
max = Math.max(max, handleResult(list.get(2)).doubleValue());
} else {
String type = input == null ? "null" : input.getClass().getName();
LOGGER.error("Aggregate input of obs {} should be a List, not a {}", obs.getId(), type);
throw new IllegalArgumentException("Expected List, got " + type);
}
}
result = new BigDecimal[]{
new BigDecimal(stats.getMean()).setScale(scale, RoundingMode.HALF_UP),
new BigDecimal(min).setScale(scale, RoundingMode.HALF_UP),
new BigDecimal(max).setScale(scale, RoundingMode.HALF_UP),
new BigDecimal(stats.getStandardDeviation()).setScale(scale, RoundingMode.HALF_UP)
};
return result;
}
示例12: getDescStats
import org.apache.commons.math3.stat.descriptive.DescriptiveStatistics; //導入方法依賴的package包/類
public void getDescStats(double[] values){
DescriptiveStatistics stats = new DescriptiveStatistics();
for( int i = 0; i < values.length; i++) {
stats.addValue(values[i]);
}
double mean = stats.getMean();
double std = stats.getStandardDeviation();
double median = stats.getPercentile(50);
System.out.println(mean + "\t" + std + "\t" + median);
}
示例13: testDescriptiveStatistics
import org.apache.commons.math3.stat.descriptive.DescriptiveStatistics; //導入方法依賴的package包/類
/**
* Creates an random double array, tests some descriptive statistics functions
*
* @throws Exception
*/
@Test
public void testDescriptiveStatistics() throws Exception {
DescriptiveStatistics stats = new DescriptiveStatistics();
for (int i = 0; i < 100; i++) {
stats.addValue(Math.random());
}
System.out.println("Testing array: " + Arrays.toString(stats.getValues()));
//Test mean function: mean should be equal to sum divided by length
assertEquals(stats.getSum() / stats.getN(), stats.getMean(), 0.001);
//Test variance and standard deviation: standard deviation should be equal to square root of variance
assertEquals(Math.sqrt(stats.getVariance()), stats.getStandardDeviation(), 0.001);
}
示例14: collectMoreTolData
import org.apache.commons.math3.stat.descriptive.DescriptiveStatistics; //導入方法依賴的package包/類
public List<DescriptiveStatistics> collectMoreTolData()
{
List<DescriptiveStatistics> returnList = new ArrayList<>();
DescriptiveStatistics tolstats = new DescriptiveStatistics();
List<Double> toldata = collectThresholdALL();
for (int t = 0; t < toldata.size(); t++)
{
tolstats.addValue(toldata.get(t));
}
DescriptiveStatistics natTolStats = new DescriptiveStatistics();
List<Double> ntoldata = collectThresholdNat();
for (int n = 0; n < ntoldata.size(); n++)
{
natTolStats.addValue(ntoldata.get(n));
}
DescriptiveStatistics migTolStats = new DescriptiveStatistics();
List<Double> mtoldata = collectThresholdMig();
for (int m = 0; m < mtoldata.size(); m++)
{
migTolStats.addValue(mtoldata.get(m));
}
returnList.add(tolstats);
returnList.add(natTolStats);
returnList.add(migTolStats);
return returnList;
}
示例15: medianMisMatch
import org.apache.commons.math3.stat.descriptive.DescriptiveStatistics; //導入方法依賴的package包/類
private static int medianMisMatch (String matchLine) {
DescriptiveStatistics stats = new DescriptiveStatistics();
for (int i=0; i<matchLine.length(); i++) {
if (matchLine.substring(i, i+1).equals(" ")) {
stats.addValue(i+1);
}
}
double median = 100 * (double) stats.getPercentile(50) / (double) matchLine.length();
return (int) median;
}