pythongps聚类_kmeans聚类算法及其python实现

本文介绍了k-means聚类算法的基本原理、应用场景和Python实现。通过实例展示了如何利用k-means进行数据分组,以及如何评估聚类效果。此外,还探讨了k-means与KNN分类器的联系。
摘要由CSDN通过智能技术生成

0引言

我做过一段时间车联网大数据分析,当然实际上是跟着一位大姐打杂学习。感觉最有意思的一部分内容是基于车主用户的轨迹数据、使用聚类的方法得到用户的常用路径,进而知道用户经常往返的地点,然后就可以推测用户的住址和公司地址了。如果再做下去,就可以做一些广告推荐之类的东西——然而没有然后,公司黄了。

不过聚类算法的奇妙一直印在我的脑子里:不需要标签就能把样本分成若干有内在关联的小组。

正是因为聚类算法的这种特点,它可以解决很多看起来无从下手的任务,比如图像分割、用户画像、异常检测、GPS轨迹数据模式抽取等等;另外,当我们对数据了解比较少的时候,可以先基于一些特征进行聚类,看看各个小组的数据内容有什么特点,也许会有发现。

常见的聚类算法有kmeans,meanshift, DBSCAN,HMM,LDA(Latent Dirichlet Allocation),等等等(HMM的无监督模式,和LDA都可以看做聚类算法)。本文将介绍最简单的kmeans聚类算法。

1分类与聚类的关系

分类和聚类是两种认识和管理事物的方法,我们人类一直在使用。

1.1分类

我们在生活和生产中,经常会搞“分类”——选择一些关键特征,基于这些特征的取值,将事物分门别类,进而将事物管理起来。我们常听到的“管理”,一个基本的目的是降低被管理的事物的复杂度。“分类”就是我们降低世界的复杂程度的一种有效手段:我主要记住一类事物的重要特征,而不需要记住这类事物的每一个个体的特征,就可以从大脑里快速获取关于这些个体的重要信息,然后快速地做出决策。

人可以分类,为啥我们要搞分类算法呢?我们常说的基于机器学习方法的分类算法,指的是这样以为算法,它们可以自动的从有标签数据中,学习特征到类别的映射规则(或函数)。这也是“人工智能”的“智能”的一种来源。“自动”,狭义地讲就是机器可以完成;再狭义一点,就是计算机可以完成。

举个人类在生活中分类的例子。假设我在野外玩耍时,遇到一个长着獠牙的大型动物,长得像二师兄。我判断这是一头大野猪,赶紧匿了。基于外形特征判断动物的类别,这就是一次分类行为。

问题来了,存储在我的大脑里的“分类器”是怎么来的呢?我的分类器实际上是基于从《动物世界》里提取的有标签数据训练出来的。电视节目比较详细地展示了野猪的特征,比如脸长、有灰褐色的毛发、尾巴较短等等(当然主要是图像特征,文字描述在脑海里主要负责辅助记忆和思维过程)。特征取值水平符合记忆里的模式的,我都判定为野猪。由于训练数据的限制,要是问我“这个是不是疣猪”,答案是“不知道”。

还有一个问题,“野猪”这个概念是怎么出现的呢?

1.2聚类

地球上存在的生物种类非常非常多,生物学家为了了解它们是如何出现的,经常要为某一种生物“找祖宗”或者“找亲戚”,也就是确定进化路径。经常有这样的情况,即专家会把一种以前认为是某种类别的动物,重新划分到另一种类别。比如河马,有一段时间,大家认为它猪是近亲,因为二者共同点很多,最突出的是都有偶数个脚趾。再后来,一些科学家用分子生物学的方式,也就是比较DNA序列的相似度,比较河马和其他动物的相似程度,发现河马和鲸鱼的关系最近,在进化史上是”表兄弟”,它们有共同祖先。就这样,科学家基于河马和鲸的相似度,把二者归到了同一个组。

这是一个聚类的操作,科学家基于某

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值