/** * Estimate parameters from minimum and maximum observed. * * @param mm Minimum and Maximum * @return Estimation */ public UniformDistribution estimate(DoubleMinMax mm) { return new UniformDistribution(Math.max(mm.getMin(), -Double.MAX_VALUE), Math.min(mm.getMax(), Double.MAX_VALUE)); }
/** * Estimate parameters from minimum and maximum observed. * * @param mm Minimum and Maximum * @return Estimation */ public UniformDistribution estimate(DoubleMinMax mm) { return new UniformDistribution(Math.max(mm.getMin(), -Double.MAX_VALUE), Math.min(mm.getMax(), Double.MAX_VALUE)); }
/** * Estimate parameters from minimum and maximum observed. * * @param mm Minimum and Maximum * @return Estimation */ public UniformDistribution estimate(DoubleMinMax mm) { return new UniformDistribution(Math.max(mm.getMin(), -Double.MAX_VALUE), Math.min(mm.getMax(), Double.MAX_VALUE)); }
@Override public <A> void prepare(A array, NumberArrayAdapter<?, A> adapter) { DoubleMinMax mm = new DoubleMinMax(); final int size = adapter.size(array); for (int i = 0; i < size; i++) { double val = adapter.getDouble(array, i); if (!Double.isNaN(val) && !Double.isInfinite(val)) { mm.put(val); } } max = mm.getMax(); mlogmax = -Math.log(mm.getMin() / max); } }
/** * Merge the result of an instance. * * @param minmax Minmax value */ protected synchronized void merge(DoubleMinMax minmax) { this.minmax.put(minmax.getMin()); this.minmax.put(minmax.getMax()); }
/** * Merge the result of an instance. * * @param minmax Minmax value */ protected synchronized void merge(DoubleMinMax minmax) { this.minmax.put(minmax.getMin()); this.minmax.put(minmax.getMax()); }
/** * Merge the result of an instance. * * @param minmax Minmax value */ protected synchronized void merge(DoubleMinMax minmax) { this.minmax.put(minmax.getMin()); this.minmax.put(minmax.getMax()); }
@Override public <A> void prepare(A array, NumberArrayAdapter<?, A> adapter) { DoubleMinMax mm = new DoubleMinMax(); final int size = adapter.size(array); for(int i = 0; i < size; i++) { double val = adapter.getDouble(array, i); if(!Double.isNaN(val) && !Double.isInfinite(val)) { mm.put(val); } } max = mm.getMax(); mlogmax = -FastMath.log(mm.getMin() / max); } }
@Override public void prepare(OutlierResult or) { DoubleMinMax mm = new DoubleMinMax(); DoubleRelation scores = or.getScores(); for (DBIDIter id = scores.iterDBIDs(); id.valid(); id.advance()) { double val = scores.doubleValue(id); if (!Double.isNaN(val) && !Double.isInfinite(val)) { mm.put(val); } } max = mm.getMax(); mlogmax = -Math.log(mm.getMin() / max); }
@Override public void prepare(OutlierResult or) { DoubleMinMax mm = new DoubleMinMax(); DoubleRelation scores = or.getScores(); for(DBIDIter id = scores.iterDBIDs(); id.valid(); id.advance()) { double val = scores.doubleValue(id); if(!Double.isNaN(val) && !Double.isInfinite(val)) { mm.put(val); } } max = mm.getMax(); mlogmax = -FastMath.log(mm.getMin() / max); }
@Override public void prepare(OutlierResult or) { DoubleMinMax mm = new DoubleMinMax(); DoubleRelation scores = or.getScores(); for(DBIDIter id = scores.iterDBIDs(); id.valid(); id.advance()) { double val = scores.doubleValue(id); if(!Double.isNaN(val) && !Double.isInfinite(val)) { mm.put(val); } } max = mm.getMax(); mlogmax = -FastMath.log(mm.getMin() / max); }
@Override public <A> UniformDistribution estimate(A data, NumberArrayAdapter<?, A> adapter) { final int len = adapter.size(data); DoubleMinMax mm = new DoubleMinMax(); for (int i = 0; i < len; i++) { final double val = adapter.getDouble(data, i); if (val > Double.NEGATIVE_INFINITY && val < Double.POSITIVE_INFINITY) { mm.put(val); } } return estimate(mm.getMin(), mm.getMax(), len); }
@Override public <A> UniformDistribution estimate(A data, NumberArrayAdapter<?, A> adapter) { final int len = adapter.size(data); DoubleMinMax mm = new DoubleMinMax(); for (int i = 0; i < len; i++) { final double val = adapter.getDouble(data, i); if (val > Double.NEGATIVE_INFINITY && val < Double.POSITIVE_INFINITY) { mm.put(val); } } return estimate(mm.getMin(), mm.getMax(), len); }
@Override public <A> UniformDistribution estimate(A data, NumberArrayAdapter<?, A> adapter) { final int len = adapter.size(data); DoubleMinMax mm = new DoubleMinMax(); for (int i = 0; i < len; i++) { final double val = adapter.getDouble(data, i); if (val > Double.NEGATIVE_INFINITY && val < Double.POSITIVE_INFINITY) { mm.put(val); } } return estimate(mm.getMin(), mm.getMax(), len); }