summaryrefslogtreecommitdiff
path: root/src/de/lmu/ifi/dbs/elki/distance/distancefunction/correlation/PearsonCorrelationDistanceFunction.java
diff options
context:
space:
mode:
authorAndrej Shadura <andrewsh@debian.org>2019-03-09 22:30:41 +0000
committerAndrej Shadura <andrewsh@debian.org>2019-03-09 22:30:41 +0000
commit38212b3127e90751fb39cda34250bc11be62b76c (patch)
treedc1397346030e9695bd763dddc93b3be527cd643 /src/de/lmu/ifi/dbs/elki/distance/distancefunction/correlation/PearsonCorrelationDistanceFunction.java
parent337087b668d3a54f3afee3a9adb597a32e9f7e94 (diff)
Import Upstream version 0.7.0
Diffstat (limited to 'src/de/lmu/ifi/dbs/elki/distance/distancefunction/correlation/PearsonCorrelationDistanceFunction.java')
-rw-r--r--src/de/lmu/ifi/dbs/elki/distance/distancefunction/correlation/PearsonCorrelationDistanceFunction.java105
1 files changed, 0 insertions, 105 deletions
diff --git a/src/de/lmu/ifi/dbs/elki/distance/distancefunction/correlation/PearsonCorrelationDistanceFunction.java b/src/de/lmu/ifi/dbs/elki/distance/distancefunction/correlation/PearsonCorrelationDistanceFunction.java
deleted file mode 100644
index c8f9d487..00000000
--- a/src/de/lmu/ifi/dbs/elki/distance/distancefunction/correlation/PearsonCorrelationDistanceFunction.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package de.lmu.ifi.dbs.elki.distance.distancefunction.correlation;
-
-/*
- This file is part of ELKI:
- Environment for Developing KDD-Applications Supported by Index-Structures
-
- Copyright (C) 2014
- Ludwig-Maximilians-Universität München
- Lehr- und Forschungseinheit für Datenbanksysteme
- ELKI Development Team
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Affero General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Affero General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-import de.lmu.ifi.dbs.elki.data.NumberVector;
-import de.lmu.ifi.dbs.elki.distance.distancefunction.AbstractNumberVectorDistanceFunction;
-import de.lmu.ifi.dbs.elki.math.MathUtil;
-import de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizer;
-
-/**
- * Pearson correlation distance function for feature vectors.
- *
- * The Pearson correlation distance is computed from the Pearson correlation
- * coefficient <code>r</code> as: <code>1-r</code>. Hence, possible values of
- * this distance are between 0 and 2.
- *
- * The distance between two vectors will be low (near 0), if their attribute
- * values are dimension-wise strictly positively correlated, it will be high
- * (near 2), if their attribute values are dimension-wise strictly negatively
- * correlated. For Features with uncorrelated attributes, the distance value
- * will be intermediate (around 1).
- *
- * @author Arthur Zimek
- */
-public class PearsonCorrelationDistanceFunction extends AbstractNumberVectorDistanceFunction {
- /**
- * Static instance.
- */
- public static final PearsonCorrelationDistanceFunction STATIC = new PearsonCorrelationDistanceFunction();
-
- /**
- * Constructor - use {@link #STATIC} instead.
- *
- * @deprecated Use static instance!
- */
- @Deprecated
- public PearsonCorrelationDistanceFunction() {
- super();
- }
-
- /**
- * Computes the Pearson correlation distance for two given feature vectors.
- *
- * The Pearson correlation distance is computed from the Pearson correlation
- * coefficient <code>r</code> as: <code>1-r</code>. Hence, possible values of
- * this distance are between 0 and 2.
- *
- * @param v1 first feature vector
- * @param v2 second feature vector
- * @return the Pearson correlation distance for two given feature vectors v1
- * and v2
- */
- @Override
- public double distance(NumberVector v1, NumberVector v2) {
- return 1 - MathUtil.pearsonCorrelationCoefficient(v1, v2);
- }
-
- @Override
- public String toString() {
- return "PearsonCorrelationDistance";
- }
-
- @Override
- public boolean equals(Object obj) {
- if(obj == null) {
- return false;
- }
- return this.getClass().equals(obj.getClass());
- }
-
- /**
- * Parameterization class.
- *
- * @author Erich Schubert
- *
- * @apiviz.exclude
- */
- public static class Parameterizer extends AbstractParameterizer {
- @Override
- protected PearsonCorrelationDistanceFunction makeInstance() {
- return PearsonCorrelationDistanceFunction.STATIC;
- }
- }
-} \ No newline at end of file