调用WEKA包进行kmeans聚类(java)
所用数据文件: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)的更多相关文章
- 在Eclipse中调用weka包实现分类
1.如题. 最近写了一个FCM的聚类算法,希望能够可视化结果,因此一个想法是调用weka中的包,使自己的程序可以可视化.这里参考了网络上的方法,首先实现在Eclipse中调用weka包实现分类的功能. ...
- 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 ...
- php通过JavaBridge调用Java类库和不带包的自定义java类成功 但是调用带包的自定义Java类报错,该怎么解决
php通过JavaBridge调用Java类库和不带包的自定义java类成功 但是调用带包的自定义Java类报错,Class.forName("com.mysql.jdbc.Driver&q ...
- 转载: scikit-learn学习之K-means聚类算法与 Mini Batch K-Means算法
版权声明:<—— 本文为作者呕心沥血打造,若要转载,请注明出处@http://blog.csdn.net/gamer_gyt <—— 目录(?)[+] ================== ...
- 4.无监督学习--K-means聚类
K-means方法及其应用 1.K-means聚类算法简介: k-means算法以k为参数,把n个对象分成k个簇,使簇内具有较高的相似度,而簇间的相似度较低.主要处理过程包括: 1.随机选择k个点作为 ...
- 【Java】K-means算法Java实现以及图像切割
1.K-means算法简述以及代码原型 数据挖掘中一个重要算法是K-means.我这里就不做具体介绍.假设感兴趣的话能够移步陈皓的博客: http://www.csdn.net/article/201 ...
- 二分Kmeans的java实现
刚刚研究了Kmeans.Kmeans是一种十分简单的聚类算法.可是他十分依赖于用户最初给定的k值.它无法发现随意形状和大小的簇.最适合于发现球状簇.他的时间复杂度为O(tkn).kmeans算法有两个 ...
- 第一周-调用weka算法进行数据挖掘
第一周-调用weka算法进行数据挖掘 简单数据集data.txt @relation weather @attribute outlook {sunny, overcast, rainy} @attr ...
- Spark MLlib中KMeans聚类算法的解析和应用
聚类算法是机器学习中的一种无监督学习算法,它在数据科学领域应用场景很广泛,比如基于用户购买行为.兴趣等来构建推荐系统. 核心思想可以理解为,在给定的数据集中(数据集中的每个元素有可被观察的n个属性), ...
随机推荐
- Ext JS4 学习笔记之发送表单(Form)时也将表单下的表格(Grid)数据一同发送的方法
Ext JS4 学习笔记之发送表单(Form)时也将表单下的表格(Grid)数据一同发送的方法 昨天在开发的时候遇到个小问题,就是如何将Grid的内容与Form一起发送到服务器端.默认情况下,表单(F ...
- ICSharpCode.SharpZipLib.dll,MyZip.dll,Ionic.Zip.dll 使用
MyZip.dll : 有BUG,会把子目录的文件解压到根目录.. ICSharpCode.SharpZipLib.dll: 把ICSharpCode.SharpZipLib.dll复制一份,重命名为 ...
- 【jdbcTemplate】使用jdbcTemplate查询的三种回调
用于查询的回调接口定义主要有以下三种: org.springframework.jdbc.core.ResultSetExtractor. 基本上属于JdbcTemplate内部使用的Callbac ...
- Func系列2:常用模块及API
简介 Func提供了非常丰富的功能模块,包括CommandModule(执行命令).CopyFileModule(拷贝文件).CPUModule(CPU信息).DiskModule(磁盘信息).Fil ...
- xss攻击和sq注入
xss攻击跟SQL注入的原理还是挺简单的,都是利用web是使用字符串进行操作的原理,通过伪造分隔符或者结束符号,来让网页或者服务端来运行输入的代码 一般防御的方法就是在对一些分隔符进行转义,djang ...
- item2,实现singleton模式
单例模式? 只能实现一个实例的类成为单例. ============== muduo库中单例模式实现 #include<boost/noncopyable.hpp> //#include ...
- onNewIntent调用时机
在IntentActivity中重写下列方法:onCreate onStart onRestart onResume onPause onStop onDestroy onNewIntent 一 ...
- canvas刮刮乐
这周有点迷茫,不知道干嘛了,一天天就过去了!我在博客右侧公告栏加了qq交流,各位有好的主题,或者有趣的技术,欢迎交流!今天突发奇想,就写了2个h5 canvas的demo玩玩! demo一:刮刮乐 舍 ...
- API爬虫--Twitter实战
本篇将从实际例子出发,展示如何使用api爬取twitter的数据. 1. 创建APP 进入https://apps.twitter.com/,创建自己的app.只有有了app才可以访问twitter的 ...
- PLSQL_性能优化系列09_Oracle Partition Table数据分区表
2014-08-22 Created By BaoXinjian