0

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

这就是我想出的:

    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,field AND NumberVector 可用类型:在 de.lmu.ifi.dbs.elki.database.AbstractDatabase.getRelation(未知来源)在 de.lmu.ifi.dbs.elki.algorithm.AbstractAlgorithm.run(未知来源)

4

1 回答 1

0

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

d.initialize();

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

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

于 2014-10-30T10:43:04.113 回答