`
ganliang13
  • 浏览: 253135 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Weka入门实例之KMean聚类实现

    博客分类:
  • KDD
阅读更多
/*上次我介绍了分类器的使用方法,这次我来介绍一下聚类算法。聚类算法在数据挖掘里面被称之为无监督学习(unsupervised learning),这是与分类算法(supervised learning)相对的。在它们两者之间还一种叫做半监督学习(semi-supervised learning)这个我会在后面的文章中重点介绍。所谓无监督学习就是在预先不知道样本类别的情况下,由聚类算法来判别样本的类别的一种学习方法。
聚类算法的一般过程分为:
1.       读入需预测样本
2.       初始化聚类算法(并设置参数)
3.       使用聚类算法对样本进行聚类
4.       打印聚类结果*/

    

package com.gump.weka;

import java.io.File;
import weka.clusterers.SimpleKMeans;
import weka.core.DistanceFunction;
import weka.core.Instance;
import weka.core.Instances;
import weka.core.converters.ArffLoader;

public class Test2 {
	public static void main(String[] args) {
		Instances ins = null;
		Instances tempIns = null;
		SimpleKMeans KM = null;
		try {
			// 1.读入样本
			// File file= new
			// File("E://application//Weka-3-7//data//contact-lenses.arff");
			File file = new File("E://application//Weka-3-7//data//rfm.arff");
			ArffLoader loader = new ArffLoader();
			loader.setFile(file);
			ins = loader.getDataSet();
			// 2.初始化聚类器
			KM = new SimpleKMeans();
			KM.setNumClusters(8);// 设置类别数量

			// 3.使用聚类算法对样本进行聚类
			KM.buildClusterer(ins);
			
			// 4.打印聚类结果
			tempIns = KM.getClusterCentroids();
			System.out.println("CentroIds: " + tempIns);
			System.out.println("-------------------/n");
			for (int i = 0; i < tempIns.size(); i++) {
				Instance temp = tempIns.get(i);
				System.out.println(temp.numAttributes());
				for (int j = 0; j < temp.numAttributes(); j++) {
					System.out.print(temp.value(j) + ",");
				}
				System.out.println("");
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

 

    

%E://application//Weka-3-7//data//rfm.arff的文件数据如下:%

 

@relation contact-lenses

@attribute days numeric
@attribute price numeric
@attribute times numeric

@data
0,0.0,1034373
0,0.02,1
0,0.2,1
0,0.4,1
...........

 

分享到:
评论

相关推荐

    weka入门实验 有分类 聚类 关联。。。

    2. **聚类(Clustering)**:虽然在描述中没有明确提及聚类,但Weka也提供了多种聚类算法,如K-means、Hierarchical Clustering等,用于发现数据的自然群体或类别,无需预先定义类别。 3. **关联(Relation Discovery)...

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

    本实验报告主要关注如何使用Weka进行数据分类和聚类,并通过实例详细阐述了决策树J48、K最近邻(KNN)算法的运用。 1. 数据分类分析: - **决策树J48**:J48是C4.5决策树算法在Weka中的实现。在实验中,首先进行了...

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

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

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

    本实验报告将深入探讨如何利用Weka进行数据预处理、模型训练以及性能评估,以实现有效的数据分类。 首先,实验的基本内容是使用Weka内置的三种经典分类算法——决策树J48、K近邻(KNN)和K均值(k-means)进行模型构建...

    基于WEKA平台的Web 事务聚类算法的研究

    ### 基于WEKA平台的Web事务聚类算法的研究 #### 一、引言与背景 随着互联网的快速发展,Web上的数据呈现出爆炸性增长,这些数据不仅规模庞大,而且具有高度的动态性和不确定性。然而,传统的数据挖掘技术在处理这...

    WEKA聚类分析实例代码

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

    根据weka的数据分类和聚类分析实验报告.pdf

    【基于Weka的数据分类和聚类分析实验报告】 在数据挖掘和机器学习领域,Weka是一个广泛使用的开源工具,它提供了丰富的数据预处理、分类、聚类和关联规则挖掘等功能。本实验报告主要探讨了使用Weka进行数据分类和...

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

    《基于Weka的数据分类与聚类分析实验报告》 数据分类和聚类是数据分析中的核心环节,本实验采用Weka这一强大的数据挖掘工具,通过三种常见的分类和聚类方法——决策树J48、KNN近邻算法和k-means聚类算法,对数据...

    网格环境下基于Weka4WS的分布式聚类算法.pdf

    通过对Weka的扩展,实现了在WSRF技术支持下的远程数据挖掘任务,同时引入了距离代价和混合概率等概念,以优化聚类算法的性能。这项工作的意义在于提供了一种创新的分布式数据挖掘框架,并通过实验验证了它的可行性和...

    模糊C均值聚类(weka)

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

    基于weka的数据分类和聚类分析试验报告课案.pdf

    在基于Weka的实验中,我们通常会进行数据分类和聚类分析。本实验报告主要涉及了三种常用的数据分类算法:决策树J48、KNN(K最近邻)以及k-means聚类算法。 首先,实验开始前,我们需要对原始数据进行预处理。数据...

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

    在本实验报告中,主要探讨了使用Weka这一开源数据挖掘工具进行数据分类和聚类分析的过程。实验涉及的关键知识点如下: 1. **Weka工具**:Weka是一款广泛用于机器学习和数据挖掘任务的软件,它提供了丰富的算法库,...

    WEKA数据挖掘在糖尿病数据中的应用研究

    使用Weka软件开展医疗领域的应用研究,为相关研究人员提供参考

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

    标签中的“_weka”、“weka_聚类 java”、“数据挖掘”、“weka_java”和“聚类_java”进一步强调了Weka的核心功能——数据挖掘,特别是聚类分析,并且是以Java编程语言为实现基础。 压缩包内的“weka-src”可能...

    weka中K-means使用演示

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

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

    Weka是一个广泛使用的数据挖掘工具,其中包含了多种聚类算法,如`SimpleKMeans`,它是基于K-Means算法的一个简单实现。K-Means算法是迭代式地将数据点分配到最近的簇中心,然后更新簇中心为该簇所有数据点的均值,...

Global site tag (gtag.js) - Google Analytics