本文主要是介绍调用WEKA包进行kmeans聚类(java),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
所用数据文件:data1.txt
前言:Kmeans是一种非常经典的聚类算法。它利用簇的中心到对象的距离来分配每个对象的簇所属关系。同时迭代的进行簇的中心的更新以及簇分配的更新,直到收敛。
下面是调用weka包中实现的kmeans的代码
- package others;
-
- import java.io.File;
-
- import weka.clusterers.SimpleKMeans;
- import weka.core.DistanceFunction;
- import weka.core.Instances;
- import weka.core.converters.ArffLoader;
-
- public class ArrayListTest {
-
- public static void main(String[] args){
- Instances ins = null;
-
- SimpleKMeans KM = null;
- DistanceFunction disFun = null;
-
- try {
-
- File file = new File("data/data1.txt");
- ArffLoader loader = new ArffLoader();
- loader.setFile(file);
- ins = loader.getDataSet();
-
-
- KM = new SimpleKMeans();
- KM.setNumClusters(4);
- KM.buildClusterer(ins);
- System.out.println(KM.preserveInstancesOrderTipText());
-
- System.out.println(KM.toString());
-
- } catch(Exception e) {
- e.printStackTrace();
- }
- }
- }
这篇关于调用WEKA包进行kmeans聚类(java)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!