学过数据挖掘和机器学习课的人估计都知道有weka这么一个开源软件,这个软件实现了很多聚类,分类算法。如果没有接触过这个软件,可以参看这篇文章,看完后基本就了解的差不多了: http://blog.csdn.net/yangliuy/article/details/7589306
当然,很多情况下我们不是直接使用这个软件,而是希望把软件中的算法拿过来集成到我们自己的系统中,也就是通常意义上的二次开发。由于weka是开源的,二次开发自然很方面。下面来简单说说如何进行二次开发。
首先在本地安装weka,在安装目录下找到jar包
在eclipse下新建一个工程,导入weka的jar包
接下来就可以尽情使用weka里面提供的算法了,这里我使用的EM算法对用户进行聚类
import java.io.*;import weka.core.*;import weka.clusterers.*;import weka.filters.*;import weka.filters.unsupervised.attribute.Remove;/** * This class shows how to perform a "classes-to-clusters" * evaluation like in the Explorer using EM. The class needs as * first parameter an ARFF file to work on. The last attribute is * interpreted as the class attribute. * <p/> * This code is based on the method "startClusterer" of the * "weka.gui.explorer.ClustererPanel" class and the * "evaluateClusterer" method of the "weka.clusterers.ClusterEvaluation" * class. * * @author FracPete (fracpete at waikato dot ac dot nz) */public class ClassesToClusters { public static void main(String[] args) throws Exception { // load data BufferedReader reader = new BufferedReader(