精华内容
下载资源
问答
  • WEKA聚类分析实例代码

    2014-11-27 18:50:30
    weka智能分析示例代码,主要实现了聚类分析功能。
  • 基于WEKA软件实现金融领域数据挖掘分析案例,分别使用随机森林,支持向量机等算法对大数据进行聚类分析,得出结论
  • weka_ 聚类分析实例演练

    万次阅读 多人点赞 2016-07-21 11:56:10
    weka_ 聚类分析实例演练 创建时间: 2016/7/13 10:33 更新时间: 2016/7/14 9:49 作者: 354467546@qq.com  1、数据准备   2、聚类原理  聚类分析中的“类”(cluster)和前面分类的“类”(class)...
    
    

    weka_ 聚类分析实例演练

    1、数据准备:下载链接  http://download.csdn.net/detail/xuxurui007/6753847

    2、聚类原理
         聚类分析中的“类”(cluster)和前面分类的“类”(class)是不同的,对cluster更加准确的翻译应该是“簇”。聚类的任务是把所有的实例分配到若干的簇,使得同一个簇的实例聚集在一个簇中心的周围,它们之间距离的比较近;而不同簇实例之间的距离比较远。对于由数值型属性刻画的实例来说,这个距离通常指欧氏距离。
         现在我们对前面的“bank data”作聚类分析,使用最常见的K均值(K-means)算法。下面我们简单描述一下K均值聚类的步骤:    1)K均值算法首先随机的指定K个簇中心;
              2)将每个实例分配到距它最近的簇中心,得到K个簇;
              3)分别计算各簇中所有实例的均值,把它们作为各簇新的簇中心。
              4)重复1)和2),直到K个簇中心的位置都固定,簇的分配也固定。
         上述K均值算法只能处理数值型的属性,遇到分类型的属性时要把它变为若干个取值0和1的属性。WEKA将自动实施这个分类型到数值型的变换,而且WEKA会自动对数值型的数据作标准化。这样得到的数据文件为“bank.arff”,含600条实例。

    3、实现步骤
         (1)用“Explorer”打开刚才得到的“bank.arff”(600条实例数据)。




         (2)切换到“Cluster”, 点击“Choose”按钮选择“SimpleKMeans”,这是WEKA中实现K均值的算法。

        
         (3)点击旁边的文本框,修改“numClusters”为6,说明我们希望把这600条实例聚成6类,即K=6;下面的“seed”参数是要设置一个随机种子 ,依此产生一个随机数 用来得到K均值算法中第一次给出的K个簇中心的位置。我们不妨暂时让它就为10,点击OK。

         (4)选中“Cluster Mode”的“Use training set”(使用训练集),选择“Store clusters for visualization”(存储聚类可视化),点击“Start”按钮。


         (5)观察右边“Clusterer output”给出的聚类结果。也可以在左下角“Result list”中这次产生的结果上点右键,“View in separate window”在新窗口中浏览结果。
     



    3、结果分析
    (1)首先我们注意到结果中有这么一行(误差平方和): Within cluster sum of squared errors: 1604.7416693522332
    这是评价聚类好坏的标准,数值越小说明 同一簇 实例之间的距离越小。


         实际上如果把“seed”参数改一下,得到的这个数值就可能会不一样,例如将“seed”取200,就得到 :
     Within cluster sum of squared errors: 1555.6241507629218 


    (也许实际得到的值不一样)应该取后面这个,当然再尝试几个seed,这个数值可能会更小(该数值越小,说明同一簇实例直接的距离越小,聚类的结果也就越好。多次试验,找到该值趋于最小的值(实例容量越大,越难找),即得到了本次实验最好的方案结果) 

         (2)接下来“Cluster centroids:”之后列出了各个簇中心的位置。对于数值型的属性,簇中心就是它的均值(Mean);分类型的就是它的众数(Mode), 也就是说这个属性上取值为众数值的实例最多。对于数值型的属性,还给出了它在各个簇里的标准差(Std Devs)。

         (3)最后的“ Clustered Instances”是各个簇中实例的数目及百分比。

         (4)为了观察可视化的聚类结果,我们在左下方“Result list”列出的结果上右击,点“ Visualize cluster assignments”。
     

         弹出的窗口给出了 各实例的散点图。最上方的两个框是选择横坐标和纵坐标,第二行的“color”是散点图着色的依据,默认是根据不同的簇“Cluster”给实例标上不同的颜色。可以在这里点“Save”把聚类结果保存成ARFF文件。
      
      

         在这个新的ARFF文件中,“instance_number”属性表示某实例的编号,“Cluster”属性表示聚类算法给出的该实例所在的簇。






    展开全文
  • 使用weka进行聚类分析

    万次阅读 多人点赞 2018-06-07 16:22:32
    1、将.xls文件转化为.arff格式 首先,将.xls文件另存为.csv格式,然后使用weka explorer的预处理面板(preprocess),打开.csv文件,将导入的文件另存为.arff。打开.csv文件时提示如下错误解决方法:出现特殊符号(...


    1、将.xls文件转化为.arff格式

      (1)首先,将.xls文件另存为.csv格式,然后使用weka explorer的预处理面板(preprocess),导入.csv文件

    首先,在weka的安装包里,将RunWeka.ini里面的编码格式改为UTF-8,避免出现中文乱码

    (2)打开.csv文件时提示如下错误
    错误一,.csv文件中存在特殊字符('),替换它

    错误二,.csv文件中自动换行,删除自动换行,并取消单元格里的换行



    错误三,若提示错误,修改特殊字符也没有,也无换行表现,则将上一行单元格内容复制过来,再手动还原该单元格内容即可

    导入成功如下所示
    (3)将.csv格式转化为.arff格式



    2、进行聚类分析

    (1)打开.arff文件


    (2)切换到“Cluster”,点击“choose”按钮选择“SimpleKMeans"。(K均值算法)

    (3)点击上面的文本框,将numClusters修改为16(我们把这16102条实例聚成16类),seed参数是要设一个随机种子,依次产生一个随机数,用来得到k均值算法中第k个簇中心的位置。(seed值不同,所算的误差平方和的结果不同)

    (4)选中Cluster Mode的Use training set,选中Store clusters for  visualization(存储聚类可视化),点击start按钮



    可在左下角的Result list下产生的结果上右键,在新窗口中浏览结果。



    3、结果分析


    (1)误差平方和:这是评价聚类好坏的标准,数值越小说明同一簇实例之间的距离越小

    (2)列出了各个簇中心的位置。

    (3)各个簇中实例的数目及百分比
    (4)可视化聚类结果,在Result list列出的结果下右击Visualize cluster assignments。


    (5)将聚类的结果保存为arff文件


    result.arff文件




    展开全文
  • 基于weka的数据聚类分析实验
  • Weka使用之聚类分析

    2010-07-24 22:45:58
    转自:[url]http://anna-zr.iteye.com/blog/578938[/url]... ... 上次我介绍了分类器的使用方法,这次我来介绍一下聚类算法。聚类算法在数据挖掘里面被称之为无监督学习(unsupervised learning),这是与分类算法(...
    转自:[url]http://anna-zr.iteye.com/blog/578938[/url]
    [url]http://blog.sina.com.cn/s/blog_591e979d0100kds1.html[/url]

    上次我介绍了分类器的使用方法,这次我来介绍一下聚类算法。聚类算法在数据挖掘里面被称之为无监督学习(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的GUI或CLI做出合适的分析,找到适当的算法,然后在将此算法集成到自己的项目中。最近在的项目中遇到了文本聚类的问题,kmeans是一种常见的聚类算法,这里先拿此...

    本文目的

    weka是一套使用java开发的数据挖掘工具集合,提供GUI/CLI界面和Java API使用方式。所以,在学习和解决数据挖掘问题时,可以先尝试用weka的GUI或CLI做出合适的分析,找到适当的算法,然后在将此算法集成到自己的项目中。最近在的项目中遇到了文本聚类的问题,kmeans是一种常见的聚类算法,这里先拿此算法和示例数据做一些实验,以便熟悉weka的界面操作。

     

    什么是kmeans

    详细的描述,参见这里。通俗的解释,就是将K个点,称为中心点(K需要预先给出),随机的放到数据集中,然后针对数据集中的每个点计算与这K个中心点的距离,找到每个点最近的中心点。然后更新这K个中心点,使每个中心点是最近的点的平均中心点。如此循环,直到这K个点的位置不能再移动,得到K个聚类。

     

    数据集

    weka定义了自己的数据集文件格式,以.arrf结尾,整体感觉就是一张表格,主要分为四个部分(如下图):

    image

    1. 注释,comment
    2. 数据集名称,relation
    3. 属性,attribute,相当于列
    4. 数据,每行是一个实例,每一行中的每个字段用逗号隔开,字符串在引号中间,也可以是数字或枚举

     

    获取并安装weka

    到官网上获取weka,如果本机有jre,那么直接下载weka安装包,如果没有jre,又不想手动安装java,可以安装带有jre的weka,后者会比前者大。

    获取后,直接双击,然后一步步OK,就行,最后会在桌面上生成小图标image

     

    执行Kmeans聚类操作

    双击小图标,弹出如下对话框,

    image

    选择“Explorer”,如果以后高级用户,可以选择最后的“Simple CLI”,直接命令行操作。

    弹出如下对话框

    image

    这里,需要实验数据集,点击这里下载,然后点击“open file …”,导入刚刚下载的数据集,出现如下界面,说明导入OK。

    image

    现在,选取最上面的第三个tab“Cluster”,进入聚类分析主界面

    image

    点击“Choose”按钮,选择聚类算法。这里先选择了SimpleKMeans,单机“Choose”旁边的输入框,可以设置算法参数

    image

    这里需要将”numClusters”修改为一个合适的值,其他保留默认即可。

    记下来,点击开始,weka就开会帮你算出结果,结果会以文件的方式存储在Result List中,方便后面分析。右边是计算结果。

     

    结果可视化

    image

    Explorer主界面最上面最后一个tab是数据结果可视化,目前只能支持2纬可视化,所以个人觉得比较鸡肋,因为一般数据纬度都为大于2纬。

    具体如何使用可视化,可以参见最后的链接。

     

    以上就是利用weka进行kmeans聚类操作的过程。

     

    参考资料

    http://maya.cs.depaul.edu/classes/ect584/weka/k-means.html

    声明:如有转载本博文章,请注明出处。您的支持是我的动力!文章部分内容来自互联网,本人不负任何法律责任。
    本文转自bourneli博客园博客,原文链接:http://www.cnblogs.com/bourneli/archive/2012/10/15/2725019.html,如需转载请自行联系原作者
    展开全文
  • 聚类分析

    2019-09-29 12:51:27
    聚类分析的方法主要有:  1)划分的方法  2)层次的方法  3)基于密度的方法  4)基于网格的方法  5)基于模型的方法  。。。  weka实现的聚类算法主要有:  K均值算法、EM算法...
  • WEKA使用教程 简介 数据格式 数据准备 分类与回归 聚类分析
  • weka文本聚类(3)--文本转换成arff

    千次阅读 2017-05-10 22:13:55
    要使用weka进行聚类分析,必须先将文本数据转换成weka可识别的arff格式。Instances类是weka可识别的数据类,其toString方法即可转换为arff格式的数据。在文本聚类中,arff格式的示例如下: @relation patent @...
  • 2)本小实验工作环境为Windows系统下的WEKA,实验内容主要有三部分,第一是分类挖掘(垃圾邮件过滤),第二是聚类分析,第三是关联挖掘。 3)本文由于过长,且实验报告内的评估观点有时不一定正确,希望抛砖引玉...
  • 了解KM算法和EM算法的都知道,它们两个的区别就是,聚类分析完成后,KM将实例分到了每个簇里边,而EM并没有将每个实例分配给簇,而是计算出了每个实例属于每个簇的概率分布,而这个概率分布我们便可以通过方法...
  • 另外还有其他两个算法,代码在cplusplus文件里面,但是没有用于数据分析,有需要可以自己加。资料里面还包含了我的实验报告,结合了weka进行预处理。另外还有可执行文件,该目录下的其他文件是预处理后的数据,删除...
  • 分别对比了K-均值算法与K-中心点轮换算法的时间复杂度,针对K-中心点轮换算法的时间复杂度提出了一种基于抽样原理的改进算法,并对K-中心点轮换算法聚类数目的选择进行了各种改进方法的探索。同时,基于主流的weka...
  • Weka -- 聚类算法之K-means

    千次阅读 2013-09-10 16:53:13
    聚类分析中的“类”(cluster)和分类的“类”(class)是不同的,对cluster更加准确的翻译应该是“簇”。聚类的任务是把所有的实例分配到若干的簇,使得同一个簇的实例聚集在一个簇中心的周围,它们之间距离的比较...
  • Weka源码分析

    2019-09-18 23:28:20
    WEKA作为一个公开的数据挖掘工作平台,集合了大量能承担数据挖掘任务的机器学习算法,包括对数据进行预处理,分类,回归、聚类、关联规则以及在新的交互式界面上的可视化。 Weka是一个开源的软件,阅读并理解其源...
  • 聚类算法之k-means算法的数据集分析: 1. K均值聚类的步骤: K均值算法首先随机的指定K个簇中心。然后: 1)将每个实例分配到距它最近的簇中心,得到K个簇; 2)计分别计算各簇中所有实例的均值,把它们作为各...
  • weka数据挖掘分析

    千次阅读 2017-05-16 08:07:36
    基于Weka 数据聚类分析银行用户的购买力 通过分析对银行储户信息的分析,进行cluster分类,最终找到合适的消费 人群。 实验基本原理及目的 聚类分析中的“类”(cluster)和前面分类的“类”(class)是不同的,对...
  •  关键词:数据挖掘 WEKA 聚类分析 k-中心点轮换算法    目 录  1 前言 7  1.1 课题背景• 7  1.2 本文所做的主要工作• 7  1.3 本文结构 8  2 数据挖掘技术综述 9  2.1 数据挖掘的定义 9 ...
  • weka源代码分析-总述

    千次阅读 2013-03-07 21:32:15
    WEKA作为一个公开的数据挖掘工作平台,集合了大量能承担数据挖掘任务的机器学习算法,包括对数据进行预处理,分类,回归、聚类、关联规则以及在新的交互式界面上的可视化。 Weka是一个开源的软件,阅读并理解其源...
  • 转载自:... 个人推荐的Weka教程,包含了数据格式、数据准备、分类和聚类Demo 博客分类:  Data mining related development tools ... WEKA的全名是怀卡托智能分析环境(Waikato Environment for
  • weka

    千次阅读 2016-06-08 21:19:39
    6. 聚类分析 1. 简介 WEKA的全名是怀卡托智能分析环境(Waikato Environment for Knowledge Analysis),它的源代码可通过http://www.cs.waikato.ac.nz/ml/weka得到。同时weka也是新西兰的一种鸟名,
  • 进行数据挖掘” 的第 2 部分我们将讨论两种最常见的数据挖掘方法 — 分类和群集 — 利用它们可以对您的数据进行更强大的分析。 简介 在 用 WEKA 进行数据挖掘,第 1 部分:简介和回归,我介绍了数据挖掘的概念...

空空如也

空空如也

1 2 3 4 5 ... 9
收藏数 177
精华内容 70
关键字:

weka聚类分析