Example usage for org.apache.commons.math.util MathUtils distance

List of usage examples for org.apache.commons.math.util MathUtils distance

Introduction

In this page you can find the example usage for org.apache.commons.math.util MathUtils distance.

Prototype

public static double distance(int[] p1, int[] p2) 

Source Link

Document

Calculates the L2 (Euclidean) distance between two points.

Usage

From source file:acromusashi.stream.ml.anomaly.lof.LofCalculator.java

/**
 * basePoint?targetPoint?????(Reachability distance)?
 * /* w ww. j  a v  a2s.  c om*/
 * @param basePoint 
 * @param targetPoint 
 * @return ???
 */
protected static double calculateReachDistance(LofPoint basePoint, LofPoint targetPoint) {
    double distance = MathUtils.distance(basePoint.getDataPoint(), targetPoint.getDataPoint());

    double reachDistance = (double) ComparatorUtils.max(distance, targetPoint.getkDistance(),
            ComparatorUtils.NATURAL_COMPARATOR);
    return reachDistance;
}

From source file:acromusashi.stream.ml.anomaly.lof.LofCalculator.java

/**
 * ??????????????????/* w  ww  . j  a v  a 2  s .  c o m*/
 * 
 * @param targetPoint 
 * @param dataSet 
 * @return ???ID??????
 */
protected static List<DistanceResult> calculateDistances(LofPoint targetPoint, LofDataSet dataSet) {
    List<DistanceResult> distances = new ArrayList<>();
    for (Map.Entry<String, LofPoint> targetEntry : dataSet.getDataMap().entrySet()) {
        // ????
        if (StringUtils.equals(targetEntry.getKey(), targetPoint.getDataId()) == true) {
            continue;
        }

        double distance = MathUtils.distance(targetEntry.getValue().getDataPoint(), targetPoint.getDataPoint());

        DistanceResult result = new DistanceResult(targetEntry.getKey(), distance);

        // ?????
        distances.add(result);
    }

    Collections.sort(distances, new DistanceResultComparator());
    return distances;
}

From source file:acromusashi.stream.ml.clustering.kmeans.KmeansCalculator.java

/**
 * ????????//w ww .java  2  s . co  m
 * 
 * @param baseCentroids ?
 * @param targetCentroids ? 
 * @param centroidNum 
 * @return ?
 */
protected static List<CentroidMapping> calculateDistances(double[][] baseCentroids, double[][] targetCentroids,
        int centroidNum) {
    // ???????
    List<CentroidMapping> allDistance = new ArrayList<>();

    for (int baseIndex = 0; baseIndex < centroidNum; baseIndex++) {
        for (int targetIndex = 0; targetIndex < centroidNum; targetIndex++) {
            CentroidMapping centroidMapping = new CentroidMapping();
            centroidMapping.setBaseIndex(baseIndex);
            centroidMapping.setTargetIndex(targetIndex);
            double distance = MathUtils.distance(baseCentroids[baseIndex], targetCentroids[targetIndex]);
            centroidMapping.setEuclideanDistance(distance);
            allDistance.add(centroidMapping);
        }
    }
    return allDistance;
}