`
orange.lpai
  • 浏览: 92714 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Weka使用之聚类分析

阅读更多
转自:http://anna-zr.iteye.com/blog/578938
http://blog.sina.com.cn/s/blog_591e979d0100kds1.html

上次我介绍了分类器的使用方法,这次我来介绍一下聚类算法。聚类算法在数据挖掘里面被称之为无监督学习(unsupervised learning),这是与分类算法(supervised learning)相对的。在它们两者之间还一种叫做半监督学习(semi-supervised learning)这个我会在后面的文章中重点介绍。所谓无监督学习就是在预先不知道样本类别的情况下,由聚类算法来判别样本的类别的一种学习方法。

聚类算法的一般过程分为:

1.       读入需预测样本

2.       初始化聚类算法(并设置参数)

3.       使用聚类算法对样本进行聚类

4.       打印聚类结果

我们来看下面的一个实例:

package com.csdn;



import java.io.File;



import weka.clusterers.SimpleKMeans;

import weka.core.DistanceFunction;

import weka.core.EuclideanDistance;

import weka.core.Instances;

import weka.core.converters.ArffLoader;



public class SimpleCluster {



   

    public static void main(String[] args) {

       // TODO Auto-generated method stub

       Instances ins = null;

       Instances tempIns = null;

      

       SimpleKMeans KM = null;

       DistanceFunction disFun = null;

       try{

          

           File file= new File("C:\\Program Files\\Weka-3-6\\data\\contact-lenses.arff");

           ArffLoader loader = new ArffLoader();

           loader.setFile(file);

           ins = loader.getDataSet();

          

          

           KM = new SimpleKMeans();       

           //设置聚类要得到的类别数量

           KM.setNumClusters(2);

          

          

           KM.buildClusterer(ins);

          

          

           tempIns = KM.getClusterCentroids();

           System.out.println("CentroIds: " + tempIns);

          

          

       }catch(Exception e){

           e.printStackTrace();

       }

    }

}

我们可以看到读入样本的过程是与上一节的一样的方法。在构建聚类器时也是通过现有的类来实现的。现在weka的聚类算法有11种之多,我所了解的也就是一两种算法而已。SimpleKMean是最简单的KMeans算法,因为聚类算法的核心是通过距离来得到类别(类间相异,类内相似),所以需要有一个计算距离的公式常见的就是欧几里得距离了。在3.5版本中weka没有考虑其它距离公式的情况,将SimpleKMean计算距离的方法默认为欧几里得距离。在3.6中就weka提供了setDistanceFunction(DistanceFunction df)的接口可以方便我们设置自己的距离计算方法。

有一点要注意,在上面的聚类过程中,我们将样本的类别属性也放在里面了,这样做是不符合常识的,因为样本类别属性包含了大量的类别信息,可以诱导聚类算法得到很好的效果。但是这与我们的初衷是相背离的,所以在聚类之前我们要记住删除掉类别属性。

在第四步打印聚类结果是一个很简单的信息,里面包括了聚类的几个中心点。在我们写程序时,可以使用ClusterEvaluation类来打印更多的信息。
分享到:
评论

相关推荐

    weka-src.rar_ weka_Weka 聚类_java 数据挖掘_weka java_聚类 java

    标题中的“weka-src.rar”指的是Weka的数据挖掘工具的源代码压缩包,而“weka_Weka 聚类_java 数据挖掘_weka java_聚类 java”这部分描述了该软件的主要功能,即Weka在Java环境下进行数据挖掘,特别是聚类分析。Weka...

    基于WEKA的聚类分析算法

    本文基于葡萄牙零售银行的数据集,使用WEKA软件对2008年至2013年的数据进行分析,以20个可能影响银行客户是否订阅定期存款的因素作为研究对象,采用不同的算法进行分类,旨在根据客户信息缩小目标客户范围,并提高...

    WEKA聚类分析实例代码

    【WEKA聚类分析实例代码】是关于使用WEKA这一强大的数据挖掘工具进行聚类分析的一个实际应用。WEKA(Waikato Environment for Knowledge Analysis)是新西兰怀卡托大学开发的一个开源数据挖掘软件,它提供了丰富的...

    Weka 用于文旦聚类

    在数据分析和机器学习领域,Weka 是一个广泛使用的开源工具,它提供了丰富的数据预处理、分类、回归、聚类和关联规则挖掘等算法。在这个场景中,我们关注的是"Weka 用于文旦聚类",这表明我们将使用Weka来执行一种...

    Weka中各种聚类算法的调用的java源程序

    一个我本人写的关天Weka.jar工具包中各种聚类算法的调用的java源程序

    weka 中em算法详细解析

    这意味着EM算法在Weka中不仅仅作为一种独立的聚类方法存在,还能够与SimpleKMeans结合使用,提供更加灵活的聚类解决方案。值得注意的是,EM算法在Weka中的实现不仅考虑了算法本身的特性,还充分考虑了数据预处理的...

    WEKA使用教程 简介 数据格式 数据准备 分类与回归 聚类分析

    在WEKA中,主要使用ARFF文件格式存储数据。ARFF文件是一种文本文件,用于存储结构化的数据集,包括属性(特征)和实例(样本)。每个属性都有一个名称和数据类型,如数值型、字符串型或离散型。实例则是一组属性值的...

    模糊C均值聚类(weka)

    仿照weka自带的简单K均值聚类算法,实现的一个简单的模糊C均值聚类算法。

    个人推荐的Weka教程,包含了数据格式、数据准备、分类和聚类Demo

    “个人推荐的Weka教程,包含了数据格式、数据准备、分类和聚类Demo” 这个标题表明这是一个关于Weka的数据挖掘工具的教程,它涵盖了数据预处理的基本步骤,包括数据格式的理解、数据准备的技巧,以及核心的机器学习...

    weka中K-means使用演示

    K-Means 算法是聚类分析中的一种常用方法,WEKA 作为一款功能强大的人工智能数据挖掘软件,也提供了 K-Means 算法的实现。下面将详细介绍如何使用 WEKA 实现 K-Means 聚类。 K-Means 算法概述 K-Means 算法是一种...

    引用 Weka学习二(聚类算法) .docx

    例如,在Java中使用Weka库进行聚类,可以创建一个`SimpleKMeans`对象,设置聚类数目,并利用`buildClusterer()`方法对`Instances`对象进行聚类。最后,通过`getClusterCentroids()`获取聚类中心并打印出来。 Weka是...

    基于weka的数据分类和聚类分析实验报告.doc

    本实验报告的主要目标是通过使用Weka中的三种常见分类和聚类方法,分别是决策树J48、KNN和K-means,对数据进行分类和聚类分析,并对各个模型进行评估和比较。 在实验中,我们首先将数据从Excel文件转换为CSV文件,...

    基于weka的数据分类和聚类分析实验报告.docx

    【基于Weka的数据分类和聚类分析实验报告】 在数据科学和机器学习领域,Weka是一个广泛使用的开源工具,它提供了各种数据预处理、分类、聚类和回归算法。本实验报告主要关注如何使用Weka进行数据分类和聚类,并通过...

    Weka中各种分类算法和聚类算法集成

    本工具包集成了Weka中最新的分类和聚类算法,将其打包成jar包,方便java开发者调用

    weka常用聚类包

    非常实用的数据挖掘工具包

    数据仓库与数据挖掘实验报告 数据分析实验报告 分类与预测实验、关联规则分析、聚类分析 共34页.pdf

    在实验三中,学生进一步使用WEKA进行了关联规则分析和聚类分析。关联规则挖掘用于发现数据项之间的有趣关系,如购物篮分析;聚类分析则是无监督学习的一种,目的是根据数据的相似性将数据分组成不同的类别。 实验四...

Global site tag (gtag.js) - Google Analytics