V
- vector datatype@Title(value="K-Means--") @Reference(authors="S. Chawla, A. Gionis", title="k-means--: A Unified Approach to Clustering and Outlier Detection", booktitle="Proc. 13th SIAM Int. Conf. on Data Mining (SDM 2013)", url="https://doi.org/10.1137/1.9781611972832.21", bibkey="DBLP:conf/sdm/ChawlaG13") public class KMeansMinusMinus<V extends NumberVector> extends AbstractKMeans<V,KMeansModel>
Similar to Lloyds K-means algorithm, but ignores the farthest points when updating the means, considering them to be outliers.
Reference:
S. Chawla, A. Gionis
k-means--: A Unified Approach to Clustering and Outlier Detection
Proc. 13th SIAM Int. Conf. on Data Mining (SDM 2013)
Modifier and Type | Class and Description |
---|---|
protected class |
KMeansMinusMinus.Instance
Inner instance, storing state for a single data set.
|
static class |
KMeansMinusMinus.Parameterizer<V extends NumberVector>
Parameterization class.
|
Modifier and Type | Field and Description |
---|---|
private static Logging |
LOG
The logger for this class.
|
boolean |
noiseFlag
Create a noise cluster, otherwise assign to the nearest cluster.
|
double |
rate
Outlier rate.
|
initializer, k, maxiter
distanceFunction
ALGORITHM_ID
INIT_ID, K_ID, MAXITER_ID, SEED_ID, VARSTAT_ID
DISTANCE_FUNCTION_ID
Constructor and Description |
---|
KMeansMinusMinus(NumberVectorDistanceFunction<? super V> distanceFunction,
int k,
int maxiter,
KMeansInitialization initializer,
double rate,
boolean noiseFlag)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
protected Logging |
getLogger()
Get the (STATIC) logger for this class.
|
Clustering<KMeansModel> |
run(Database database,
Relation<V> relation)
Run the clustering algorithm.
|
getInputTypeRestriction, incrementalUpdateMean, initialMeans, means, minusEquals, nearestMeans, plusEquals, plusMinusEquals, setDistanceFunction, setInitializer, setK
getDistanceFunction
run
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
run
getDistanceFunction
private static final Logging LOG
public double rate
public boolean noiseFlag
public KMeansMinusMinus(NumberVectorDistanceFunction<? super V> distanceFunction, int k, int maxiter, KMeansInitialization initializer, double rate, boolean noiseFlag)
distanceFunction
- distance functionk
- k parametermaxiter
- Maxiter parameterinitializer
- Initialization methodnoiseFlag
- Create a noise cluster instead of assigning to the nearest
clusterpublic Clustering<KMeansModel> run(Database database, Relation<V> relation)
KMeans
database
- Database to run on.relation
- Relation to process.protected Logging getLogger()
AbstractAlgorithm
getLogger
in class AbstractAlgorithm<Clustering<KMeansModel>>
Copyright © 2019 ELKI Development Team. License information.