【发布时间】:2014-10-29 09:10:19
【问题描述】:
我阅读了很多在 Java 中使用此库的示例,并且可以从 ARFF 数据文件中进行聚类,并且它可以工作。
但是我在运行程序时生成的双重列表中有我自己的数据,我不知道如何使用这个 k-means 算法来聚类我的数据。这是一维列表。
这是我的代码:
Instances dataa = DataSource.read("C:\\Users\\Ew\\Documents\\iris.arff");
// create the model
kMeans = new SimpleKMeans();
kMeans.setNumClusters(3);
kMeans.buildClusterer(dataa);
// print out the cluster centroids
Instances centroids = kMeans.getClusterCentroids();
for (int i = 0; i < centroids.numInstances(); i++) {
System.out.println( "Centroid " + i+1 + ": " + centroids.instance(i));
}
// get cluster membership for each instance
for (int i = 0; i < dataa.numInstances(); i++) {
System.out.println( dataa.instance(i) + " is in cluster " + kMeans.clusterInstance(dataa.instance(i)) + 1);
}
我从 iris.arff 文件中读取数据并且它正在工作。现在我想给 k-means 我的双重列表作为参数。我该怎么做?
提前感谢您的回答。
问候。
【问题讨论】:
-
你没看懂k是什么意思?
-
如果你能告诉我如何在 weka 库中的这个算法中使用我自己的数据而不是 arff 文件