《Hadoop与大数据挖掘》一2.5 K-Means算法原理及Hadoop MapReduce实现

2.5 K-Means算法原理及Hadoop MapReduce实现

2.5.1 K-Means算法原理
K-Means算法是硬聚类算法,是典型的基于原型的目标函数聚类方法的代表。它是将数据点到原型的某种距离作为优化的目标函数,利用函数求极值的方法得到迭代运算的调整规则(如图2-45所示)。K-Means算法以欧氏距离作为相似度测度,求对应某一初始聚类中心向量V最优分类,使得评价指标最小。算法采用误差平方和准则函数作为聚类准则函数。

具体的算法步骤如下:
1)随机在图中取K(这里K=2)个种子点。
2)然后对图中的所有点求到这K个种子点的距离,假如点Pi离种子点Si最近,那么Pi属于Si点群。图2-45中,我们可以看到A、B属于上面的种子点,C、D、E属于下面中部的种子点。
3)接下来,我们要移动种子点到属于它的“点群”的中心。见图2-45中的第3步。
4)然后重复第2)和第3)步,直到种子点没有移动。我们可以看到图2-45中的第4步上面的种子点聚合了A、B、C,下面的种子点聚合了D、E。
图2-46所示为K-Means算法的流程图。

该流程图描述其实和算法步骤类似,不过,这里需要考虑下面几个问题:
1)选择k个聚类中心用什么方法?
提示:可以随机选择或直接取前k条记录。
2)计算距离的方法有哪些?
提示:欧氏距离、余弦距离等。
3)满足终止条件是什么?
提示:使用前后两次的聚类中心误差(需考虑阈值小于多少即可);使用全局误差小于阈值(阈值选择多少?)。
请读者考虑上面的几个问题,并完成下面的动手实践(K-Means算法实现)。

时间: 2024-11-05 06:26:25

《Hadoop与大数据挖掘》一2.5 K-Means算法原理及Hadoop MapReduce实现的相关文章

《Hadoop与大数据挖掘》——2.6 TF-IDF算法原理及Hadoop MapReduce实现

2.6 TF-IDF算法原理及Hadoop MapReduce实现 2.6.1 TF-IDF算法原理 原理:在一份给定的文件里,词频(Term Frequency,TF)指的是某一个给定的词语在该文件中出现的次数.这个数字通常会被正规化,以防止它偏向长的文件(同一个词语在长文件里可能会比在短文件里有更高的词频,而不管该词语重要与否).逆向文件频率(Inverse Document Frequency,IDF)是一个词语普遍重要性的度量.某一特定词语的IDF可以由总文件数目除以包含该词语的文件的数

《Hadoop与大数据挖掘》一导读

前 言 为什么要写这本书 最早提出"大数据"时代到来的是全球知名咨询公司麦肯锡,麦肯锡称:"数据,已经渗透到当今每一个行业和业务职能领域,成为重要的生产因素.人们对于海量数据的挖掘和运用,预示着新一波生产率增长和消费者盈余浪潮的到来." 早在2012年,大数据(big data)一词已经被广泛提起,人们用它来描述和定义信息爆炸时代产生的海量数据,并命名与之相关的技术发展与创新.那时就有人预计,从2013年至2020年,全球数据规模将增长10倍,每年产生的数据量将由当

《Hadoop与大数据挖掘》一2.6 TF-IDF算法原理及Hadoop MapReduce实现

2.6 TF-IDF算法原理及Hadoop MapReduce实现 2.6.1 TF-IDF算法原理 原理:在一份给定的文件里,词频(Term Frequency,TF)指的是某一个给定的词语在该文件中出现的次数.这个数字通常会被正规化,以防止它偏向长的文件(同一个词语在长文件里可能会比在短文件里有更高的词频,而不管该词语重要与否).逆向文件频率(Inverse Document Frequency,IDF)是一个词语普遍重要性的度量.某一特定词语的IDF可以由总文件数目除以包含该词语的文件的数

《Hadoop与大数据挖掘》一2.5.4 Hadoop K-Means编程实现

2.5.4 Hadoop K-Means编程实现 在下面的实现过程中,会进行简单实现思路介绍,针对一些实现会有动手实践给读者练习.一般情况下我们建议读者自己全部实现,对于实现起来有难度的读者,我们提供了参考程序,但是需要注意,参考程序不是完整的,里面设置了TODO提示,这些地方是需要读者去完善的. 思路1 不管是思路1还是思路2,Hadoop实现K-Means算法都包含4个步骤:①初始化聚类中心向量:②进行聚类并更新聚类中心向量:③判断是否达到循环条件,如果是则循环:④判断是否需要对原始数据进行

《Hadoop与大数据挖掘》一1.2 大数据平台

1.2 大数据平台 大数据平台有哪些呢? 一般认为大数据平台分为两个方面,硬件平台和软件平台.硬件平台一般如Open-Stack.Amazon云平台.阿里云计算等,类似这样的平台其实做的是虚拟化,即把多台机器或一台机器虚拟化成一个资源池,然后给成千上万人用,各自租用相应的资源服务等.而软件平台则是大家经常听到的,如Hadoop.MapReduce.Spark等,也可以狭义理解为Hadoop生态圈,即把多个节点资源(可以是虚拟节点资源)进行整合,作为一个集群对外提供存储和运算分析服务. Hadoo

《Hadoop与大数据挖掘》一1.3 本章小结

1.3 本章小结 通过本章的介绍,相信大家对大数据有了一个比较感性的认识,那接下来学习什么呢? 接下来的内容就是大数据技术涉及的相关技术.在本书中,大数据技术仅指软件层面,比如使用Hadoop生态圈软件等,而非硬件平台.这里的硬件平台主要指的是把所有硬件资源整合,使其虚拟化一个资源池的概念,涉及的技术有OpenStack.亚马逊云平台.阿里云平台等. 在后面的章节中,主要介绍Hadoop生态圈的相关技术,如HDFS.YARN.MapReduce.HBase.Hive.Pig.Spark.Oozi

《Hadoop与大数据挖掘》——2.3 Hadoop集群命令

2.3 Hadoop集群命令 一般操作Hadoop集群都是使用相关的Hadoop命令,比如文件上传.下载.删除,文件夹新建.删除.拷贝等:又或者提交MapReduce任务并执行.查看MapReduce任务执行状态等.那么Hadoop集群包含的相关命令有哪些呢? 大多数Hadoop集群的相关命令类别如表2-3所示. 下面针对每种集群命令,介绍其中常用的命令,为后面的操作打下基础. 2.3.1 HDFS常用命令hdfs dfs 在讲解这个命令前,先对hdfs dfs.hadoop fs.hadoop

《Hadoop与大数据挖掘》一2.7 本章小结

2.7 本章小结 本章首先介绍了Hadoop的基本概念.原理以及Hadoop生态系统各个框架.接着,介绍了Hadoop的安装配置以及开发环境IDE配置.在此基础上介绍了Hadoop常用的集群命令.Hadoop MapReduce编程开发原理,针对MapReduce编程开发,详细介绍了Map-Reduce原理.单词计数源码分析,结合源码分析了MapReduce原理.在本章的最后两个小节,分别介绍了数据挖掘中的经典算法:K-Means算法.TF-IDF算法,并针对其Hadoop MapReduce实

《Hadoop与大数据挖掘》——2.7 本章小结

2.7 本章小结 本章首先介绍了Hadoop的基本概念.原理以及Hadoop生态系统各个框架.接着,介绍了Hadoop的安装配置以及开发环境IDE配置.在此基础上介绍了Hadoop常用的集群命令.Hadoop MapReduce编程开发原理,针对MapReduce编程开发,详细介绍了Map-Reduce原理.单词计数源码分析,结合源码分析了MapReduce原理.在本章的最后两个小节,分别介绍了数据挖掘中的经典算法:K-Means算法.TF-IDF算法,并针对其Hadoop MapReduce实