数据挖掘算法学习(一)K-Means算法,数据挖掘k-means
数据挖掘算法学习(一)K-Means算法,数据挖掘k-means
博主最近实习开始接触数据挖掘,将学习笔记分享给大家。目前用的软件是weka,下篇文章会着重讲解。
算法简介:
K-Means算法是输入聚类个数k,以及包含n个数据对象的数据库,输出满足方差最小标准的k个聚类。并使得所获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类对象相似度较小。
算法假设:
均方误差是计算群组分散度的最佳参数。
算法输入:
聚类个数k;包含n个数据对象的数据集。
算法输出:
k个聚类
算法思想:
(a)绿点表示数据集在二级的欧几里德空间,初始化的中心点u1和u2用红的和蓝的叉来分别表示
(b)在最初的E步骤中,每个点根据离哪个簇中心点近,被指定为属于红簇还是蓝簇,这等于将这些点根据垂直于两个中心点的分隔线的的哪边分类,它用紫色的线表示。
(c)在接下来的M步骤,重新计算每个簇的中心点的平均值作为每个簇的中心点。
直至中心点位置不变或者变化很小。
weka运行:
以weather.nominal.arff为例运行结果部分截图如下:
从结果中可以看出,这组数据用K-Means算法迭代四次,初始产生了两个中心点。最终有10个instances聚合为一类,4个instances聚合为一类。
函数调用代码:
//读入样本
Filefile=new File("F:\\Program Files (x86)\\Weka-3-7\\data\\weather.nominal.arff");
ArffLoaderloader= newArffLoader();
loader.setFile(file);
ins=loader.getDataSet();
//初始化聚类器并设置k值
KM= new SimpleKMeans();
KM.setNumClusters(2);
//进行聚类
KM.buildClusterer(ins);
//打印结果
tempIns=KM.getClusterCentroids();
System.out.println(“CentroIds:”+tempIns);
运行结果如下:@attributeoutlook {sunny,overcast,rainy}
@attribute temperature {hot,mild,cool}
@attribute humidity {high,normal}
@attribute windy {TRUE,FALSE}
@attribute play {yes,no}
@data
sunny,mild,high,FALSE,yes
overcast,cool,normal,TRUE,yes
算法应用:
1.图片分割
图为取不同k值时的效果。
2.电子商务中分析商品相似度,归类商品
3.分析公司的客户分类,使用不同的商业策略
原创文章,转载请注明出处,谢谢。
这个算法真不难,把你的程序发我看看58987002@qq.com
国际权威的学术组织the IEEE International Conference on Data Mining (ICDM) 2006年12月评选出了数据挖掘领域的十大经典算法:C4.5, k-Means, SVM, Apriori, EM, PageRank, AdaBoost, kNN, Naive Bayes, and CART.
不仅仅是选中的十大算法,其实参加评选的18种算法,实际上随便拿出一种来都可以称得上是经典算法,它们在数据挖掘领域都产生了极为深远的影响。
1. C4.5
C4.5算法是机器学习算法中的一种分类决策树算法,其核心算法是ID3算法. C4.5算法继承了ID3算法的优点,并在以下几方面对ID3算法进行了改进:
1) 用信息增益率来选择属性,克服了用信息增益选择属性时偏向选择取值多的属性的不足;
2) 在树构造过程中进行剪枝;
3) 能够完成对连续属性的离散化处理;
4) 能够对不完整数据进行处理。
C4.5算法有如下优点:产生的分类规则易于理解,准确率较高。其缺点是:在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效。
2. The k-means algorithm 即K-Means算法
k-means algorithm算法是一个聚类算法,把n的对象根据他们的属性分为k个分割,k < n。它与处理混合正态分布的最大期望算法很相似,因为他们都试图找到数据中自然聚类的中心。它假设对象属性来自于空间向量,并且目标是使各个群组内部的均 方误差总和最小。
3. Support vector machines
支持向量机,英文为Support Vector Machine,简称SV机(论文中一般简称SVM)。它是一种监督式学习的方法,它广泛的应用于统计分类以及回归分析中。支持向量机将向量映射到一个更 高维的空间里,在这个空间里建立有一个最大间隔超平面。在分开数据的超平面的两边建有两个互相平行的超平面。分隔超平面使两个平行超平面的距离最大化。假 定平行超平面间的距离或差距越大,分类器的总误差越小。一个极好的指南是C.J.C Burges的《模式识别支持向量机指南》。van der Walt 和 Barnard 将支持向量机和其他分类器进行了比较。
4. The Apriori algorithm
Apriori算法是一种最有影响的挖掘布尔关联规则频繁项集的算法。其核心是基于两阶段频集思想的递推算法。该关联规则在分类上属于单维、单层、布尔关联规则。在这里,所有支持度大于最小支持度的项集称为频繁项集,简称频集。
5. 最大期望(EM)算法
在统计计算中,最大期望(EM,Expectation–Maximization)算法是在概率(probabilistic)模型中寻找参数最大似然 估计的算法,其中概率模型依赖于无法观测的隐藏变量(Latent Variabl)。最大期望经常用在机器学习和计算机视觉的数据集聚(Data Clustering)领域。
6. PageRank
PageRank是Google算法的重要内容。2001年9月被授予美国专利,专利人是Google创始人之一拉里·佩奇(Larry Page)。因此,PageRank里的page不是指网页,而是指佩奇,即这个等级方法是以佩奇来命名的。
PageRank根据网站的外部链接和内部链接的数量和质量俩衡量网站的价值。PageRank背后的概念是,每个到页面的链接都是对该页面的一次投票, 被链......余下全文>>
评论暂时关闭