所用数据文件:data1.txt

@RELATION data1

@ATTRIBUTE one REAL
@ATTRIBUTE two REAL @DATA
0.184000 0.482000
0.152000 0.540000
0.152000 0.596000
0.178000 0.626000
0.206000 0.598000
0.230000 0.562000
0.224000 0.524000
0.204000 0.540000
0.190000 0.572000
0.216000 0.608000
0.240000 0.626000
0.256000 0.584000
0.272000 0.546000
0.234000 0.468000
0.222000 0.490000
0.214000 0.414000
0.252000 0.336000
0.298000 0.336000
0.316000 0.376000
0.318000 0.434000
0.308000 0.480000
0.272000 0.408000
0.272000 0.462000
0.280000 0.524000
0.296000 0.544000
0.340000 0.534000
0.346000 0.422000
0.354000 0.356000
0.160000 0.282000
0.160000 0.282000
0.156000 0.398000
0.138000 0.466000
0.154000 0.442000
0.180000 0.334000
0.184000 0.300000
0.684000 0.420000
0.678000 0.494000
0.710000 0.592000
0.716000 0.508000
0.744000 0.528000
0.716000 0.540000
0.692000 0.540000
0.696000 0.494000
0.722000 0.466000
0.738000 0.474000
0.746000 0.484000
0.750000 0.500000
0.746000 0.440000
0.718000 0.446000
0.692000 0.466000
0.746000 0.418000
0.768000 0.460000
0.272000 0.290000
0.240000 0.376000
0.212000 0.410000
0.154000 0.564000
0.252000 0.704000
0.298000 0.714000
0.314000 0.668000
0.326000 0.566000
0.344000 0.468000
0.324000 0.632000
0.164000 0.688000
0.216000 0.684000
0.392000 0.682000
0.392000 0.628000
0.392000 0.518000
0.398000 0.502000
0.392000 0.364000
0.360000 0.308000
0.326000 0.308000
0.402000 0.342000
0.404000 0.418000
0.634000 0.458000
0.650000 0.378000
0.698000 0.348000
0.732000 0.350000
0.766000 0.364000
0.800000 0.388000
0.808000 0.428000
0.826000 0.466000
0.842000 0.510000
0.842000 0.556000
0.830000 0.594000
0.772000 0.646000
0.708000 0.654000
0.632000 0.640000
0.628000 0.564000
0.624000 0.352000
0.650000 0.286000
0.694000 0.242000
0.732000 0.214000
0.832000 0.214000
0.832000 0.264000
0.796000 0.280000
0.778000 0.288000
0.770000 0.294000
0.892000 0.342000
0.910000 0.366000
0.910000 0.394000
0.872000 0.382000
0.774000 0.314000
0.718000 0.252000
0.688000 0.284000
0.648000 0.322000
0.602000 0.460000
0.596000 0.496000
0.570000 0.550000
0.564000 0.592000
0.574000 0.624000
0.582000 0.644000
0.596000 0.664000
0.662000 0.704000
0.692000 0.722000
0.710000 0.736000
0.848000 0.732000
0.888000 0.686000
0.924000 0.514000
0.914000 0.470000
0.880000 0.492000
0.848000 0.706000
0.730000 0.736000
0.676000 0.734000
0.628000 0.732000
0.782000 0.708000
0.806000 0.674000
0.830000 0.630000
0.564000 0.730000
0.554000 0.538000
0.570000 0.502000
0.572000 0.432000
0.590000 0.356000
0.652000 0.232000
0.676000 0.178000
0.684000 0.152000
0.728000 0.172000
0.758000 0.148000
0.864000 0.176000
0.646000 0.242000
0.638000 0.254000
0.766000 0.276000
0.882000 0.278000
0.900000 0.278000
0.906000 0.302000
0.892000 0.316000
0.570000 0.324000
0.798000 0.150000
0.832000 0.114000
0.714000 0.156000
0.648000 0.154000
0.644000 0.212000
0.642000 0.250000
0.658000 0.284000
0.710000 0.296000
0.794000 0.288000
0.846000 0.260000
0.856000 0.304000
0.858000 0.392000
0.858000 0.476000
0.778000 0.640000
0.736000 0.662000
0.718000 0.690000
0.634000 0.692000
0.596000 0.710000
0.570000 0.720000
0.554000 0.732000
0.548000 0.686000
0.524000 0.740000
0.598000 0.768000
0.660000 0.796000

前言: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)的更多相关文章

  1. 在Eclipse中调用weka包实现分类

    1.如题. 最近写了一个FCM的聚类算法,希望能够可视化结果,因此一个想法是调用weka中的包,使自己的程序可以可视化.这里参考了网络上的方法,首先实现在Eclipse中调用weka包实现分类的功能. ...

  2. k-means聚类JAVA实例

    <mahout in action>第六章. datafile/cluster/simple_k-means.txt数据集例如以下: 1 1 2 1 1 2 2 2 3 3 8 8 8 9 ...

  3. php通过JavaBridge调用Java类库和不带包的自定义java类成功 但是调用带包的自定义Java类报错,该怎么解决

    php通过JavaBridge调用Java类库和不带包的自定义java类成功 但是调用带包的自定义Java类报错,Class.forName("com.mysql.jdbc.Driver&q ...

  4. 转载: scikit-learn学习之K-means聚类算法与 Mini Batch K-Means算法

    版权声明:<—— 本文为作者呕心沥血打造,若要转载,请注明出处@http://blog.csdn.net/gamer_gyt <—— 目录(?)[+] ================== ...

  5. 4.无监督学习--K-means聚类

    K-means方法及其应用 1.K-means聚类算法简介: k-means算法以k为参数,把n个对象分成k个簇,使簇内具有较高的相似度,而簇间的相似度较低.主要处理过程包括: 1.随机选择k个点作为 ...

  6. 【Java】K-means算法Java实现以及图像切割

    1.K-means算法简述以及代码原型 数据挖掘中一个重要算法是K-means.我这里就不做具体介绍.假设感兴趣的话能够移步陈皓的博客: http://www.csdn.net/article/201 ...

  7. 二分Kmeans的java实现

    刚刚研究了Kmeans.Kmeans是一种十分简单的聚类算法.可是他十分依赖于用户最初给定的k值.它无法发现随意形状和大小的簇.最适合于发现球状簇.他的时间复杂度为O(tkn).kmeans算法有两个 ...

  8. 第一周-调用weka算法进行数据挖掘

    第一周-调用weka算法进行数据挖掘 简单数据集data.txt @relation weather @attribute outlook {sunny, overcast, rainy} @attr ...

  9. Spark MLlib中KMeans聚类算法的解析和应用

    聚类算法是机器学习中的一种无监督学习算法,它在数据科学领域应用场景很广泛,比如基于用户购买行为.兴趣等来构建推荐系统. 核心思想可以理解为,在给定的数据集中(数据集中的每个元素有可被观察的n个属性), ...

随机推荐

  1. 【性能测试】性能测试总结<一>

    目录: 一. 什么是软件性能 二.不同群体眼中的性能 三.性能测试类型 四.性能测试应用场景 五.性能测试基本概念 正文: 一. 什么是软件性能 定义:软件的性能是软件的一种非功能特性,它关注的不是软 ...

  2. DIV的垂直居中

    一直以来都没有找到一种完美解决DIV垂直居中的方法,今天终于找到了,特记录如下,从此不再用table来居中了.^^ <html> <style> #image{ width:5 ...

  3. LintCode "Post Office Problem" !!!

    * Non-intuitive state design class Solution { public: /** * @param A an integer array * @param k an ...

  4. thinkphp中redirect重定向后隐藏index.php

    首先,.htaccess文件要配置好隐藏index.php.系统默认生成的就行. 然后,也是最关键的一部,要在Application/Home/Conf里的config.php文件中增加如下配置: & ...

  5. Puppet's Architecture 3.7

    Puppet configures systems in two main stages: Compile a catalog Apply the catalog The Agent/Master A ...

  6. 初步理解MVC

    一.Asp.net WebForms 与Asp.net MVC 概念 Asp.net是创建WEB应用的框架,MVC是能够用更好的方法来组织并管理代码的一种更高级架构体系. 我们可将原来的Asp.net ...

  7. protobuffer序列化

    一. 描述对象的proto文件 第一行package:对象经过protobuffer编译后形成java文件,这个文件放在按照package新建的文件夹内 java_package:java类的包名 j ...

  8. sql server中的左连接与右连接的简便写法

    左连接 *=(左表中的数据全部显示出来,右表中没有相关联的数据显示null) select Users.*,Department.name as DepartmentName from Users,D ...

  9. Spring Tool Suite中的Tomcat启动状态修改java代码保存立刻生效

  10. ASP.NET 中的 authentication(验证)与authorization(授权)

    这两个东西很绕口,也绕脑袋. 一般来说,了解authentication(验证)的用法即可,用于自定义的用户验证. authorization(授权)主要通过计算机信息来控制. “*”:所有用户: “ ...