我已经编写了一个代码将一组数据集中在Java中。我正在使用Apache Mahout来构建簇。这是我的代码的一部分:
Configuration conf = new Configuration();
Path input = new Path("C:\DATA\input.txt");
Path clusters = new Path("C:\DATA\clusters.txt");
Path output = new Path("C:\DATA\output.txt");
org.apache.mahout.common.distance.DistanceMeasure measure;
String delta = new InterruptedException().toString();
org.apache.mahout.clustering.kmeans.KMeansDriver myK = new KMeansDriver();
myK.buildClusters(conf, input, clusters, output, measure, 100, delta, true);
但是,在创建"度量"参数时,我会遇到错误:"可变度量可能没有初始化"。
这是函数构建的文档:https://builds.apache.org/job/mahout-quality/javadoc/javadoc/org/apache/mahout/mahout/clustering/clustering/kmeans/kmeans/kmeansdriver.html
那么,如何定义"度量"的真实值?
DistanceMeasure
(链接)只是接口。您需要使用界面的实现之一,例如CosineDistanceMeasure
或EuclideanDistanceMeasure
顺便说一句,我想知道为什么您的三角洲是这样定义的: String delta = new InterruptedException().toString();
delta
定义为收敛的增量值,该值在内部解析为双重。