@Override protected WeightedEuclideanDistanceFunction makeInstance() { return new WeightedEuclideanDistanceFunction(weights); } }
@Override protected WeightedEuclideanDistanceFunction makeInstance() { return new WeightedEuclideanDistanceFunction(weights); } }
@Override protected WeightedEuclideanDistanceFunction makeInstance() { return new WeightedEuclideanDistanceFunction(weights); } }
@Override protected WeightedLPNormDistanceFunction makeInstance() { return p == 1. ? new WeightedManhattanDistanceFunction(weights) // : p == 2. ? new WeightedEuclideanDistanceFunction(weights) // : p == Double.POSITIVE_INFINITY ? new WeightedMaximumDistanceFunction(weights) // : new WeightedLPNormDistanceFunction(p, weights); } }
@Override protected WeightedLPNormDistanceFunction makeInstance() { return p == 1. ? new WeightedManhattanDistanceFunction(weights) // : p == 2. ? new WeightedEuclideanDistanceFunction(weights) // : p == Double.POSITIVE_INFINITY ? new WeightedMaximumDistanceFunction(weights) // : new WeightedLPNormDistanceFunction(p, weights); } }
@Override protected WeightedLPNormDistanceFunction makeInstance() { if(p == 1.) { return new WeightedManhattanDistanceFunction(weights); } if(p == 2.) { return new WeightedEuclideanDistanceFunction(weights); } if(p == Double.POSITIVE_INFINITY) { return new WeightedMaximumDistanceFunction(weights); } return new WeightedLPNormDistanceFunction(p, weights); } }
private PrimitiveDistanceFunction<NumberVector> getDistanceFunction(double[] estimated_weights) { switch(distance){ case SQEUCLIDEAN: return new WeightedSquaredEuclideanDistanceFunction(estimated_weights); case EUCLIDEAN: return new WeightedEuclideanDistanceFunction(estimated_weights); case MANHATTAN: return new WeightedManhattanDistanceFunction(estimated_weights); case PEARSON: return new WeightedPearsonCorrelationDistanceFunction(estimated_weights); default: throw new AbortException("Unsupported distance mode: " + distance); } }
private PrimitiveDistanceFunction<NumberVector> getDistanceFunction(double[] estimated_weights) { switch(distance){ case SQEUCLIDEAN: return new WeightedSquaredEuclideanDistanceFunction(estimated_weights); case EUCLIDEAN: return new WeightedEuclideanDistanceFunction(estimated_weights); case MANHATTAN: return new WeightedManhattanDistanceFunction(estimated_weights); case PEARSON: return new WeightedPearsonCorrelationDistanceFunction(estimated_weights); default: throw new AbortException("Unsupported distance mode: " + distance); } }