ELKI中非常简单的K-means聚类示例

时间:2014-10-29 16:49:48

标签: java cluster-analysis elki

我目前正在尝试使用elki库提供的KMeans群集功能。

这就是我提出的:

    double[][] dblArray = new double[100][10]  // 100 10-dimensional data points

    //populate array...        

    KMeansInitialization<NumberVector<Double>> kinit = new FirstKInitialMeans<>();

    KMeansLloyd<NumberVector<Double>, DoubleDistance> kmeans 
        = new KMeansLloyd<NumberVector<Double>, DoubleDistance>(EuclideanDistanceFunction.STATIC, K, KMEANSMAXITER, kinit);

    DatabaseConnection dbc = new ArrayAdapterDatabaseConnection(dblArray));
    Database d = new StaticArrayDatabase(dbc, null);

    kmeans.run(d);
埃尔基给了我:

  

de.lmu.ifi.dbs.elki.data.type.NoSupportedDataTypeException:无数据   找到满足的类型:NumberVector,字段和NumberVector可用   类型:at   de.lmu.ifi.dbs.elki.database.AbstractDatabase.getRelation(未知   来源)at   de.lmu.ifi.dbs.elki.algorithm.AbstractAlgorithm.run(Unknown Source)

1 个答案:

答案 0 :(得分:0)

不要忘记初始化您的数据库:

d.initialize();

此时,将从数据库连接中获取数据,并将构建索引。

如果您忘记初始化数据库,它将保持为空。