调用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个属性), ...
随机推荐
- 【linux】常见的网络管理命令
last:查看目前和过去的用户登录信息 [root@paulinux ~]# last root pts/0 192.168.1.106 Fri Jun 10 09:53 still logged i ...
- Nova分析(1)——整体架构
Conceptual Diagram Logical diagram Nova is the most complicated and distributed component of OpenSta ...
- PHPNow升级PHP版本为5.3.5的方法
在WIN上有时候需要测试一些PHP程序,又不会自行独立配置环境,那么PHPNow是非常好的选择,这篇文章主要为大家分享下如果将phpnow的php版本升级为5.3.5 在WIN上有时候需要测试一些 ...
- Linux下编译Boost
编译环境 操作系统: Red Hat Enterprise Linux Server release 5.4 64-bit 编译工具: gcc (GCC) 4.1.2 20080704 (Red Ha ...
- 黄聪:wordpress自动选择上一篇文章选择的分类目录
有时候,我们需要连续发布同一个分类下的文章,每篇文章都要重新选择分类非常麻烦.下面,我们就用程序来搞定这个问题. add_action('publish_post', 'save_fl' ); add ...
- java.lang.ClassNotFoundException: org.eclipse.jetty.plus.webapp.EnvConfiguration
最近刚接触jetty,在myeclipse8.6中加入了一个项目,运行时就出了这个java.lang.ClassNotFoundException: org.eclipse.jetty.plus.we ...
- 对象生命周期及crud操作
1. 对象状态及生命周期 瞬时状态: 持久状态: 游离状态: 2. new->save->close->update public void testSave(){ Session ...
- 使用BlockingQueue的生产者消费者模式
BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题.通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利.使用场景. 首先它是一个队列,而一个队 ...
- ERP_基于Oracle SOA的企业服务总线整合
2015-01-01 Created By BaoXinjian
- OAF_EO系列1 - Definition定义(概念)
2014-06-14 Created By BaoXinjian