PHP前端开发

python怎么实现canopy聚类

百变鹏仔 3小时前 #Python
文章标签 python

canopy算法是2000年由andrew mccallum, kamal nigam and lyle ungar提出来的,它是对k-means聚类算法和层次聚类算法的预处理。众所周知,kmeans的一个不足之处在于k值需要通过人为的进行调整,后期可以通过肘部法则(elbow method)和轮廓系数(silhouette coefficient)来对k值进行最终的确定,但是这些方法都是属于“事后”判断的,而canopy算法的作用就在于它是通过事先粗聚类的方式,为k-means算法确定初始聚类中心个数和聚类中心点。

使用的包:

import mathimport randomimport numpy as npfrom datetime import datetimefrom pprint import pprint as pimport matplotlib.pyplot as plt

1.首先我在算法中预设了一个二维(为了方便后期画图呈现在二维平面上)数据dataset。

当然也可以使用高纬度的数据,并且我将canopy核心算法写入了类中,后期可以通过直接调用的方式对任何维度的数据进行处理,当然只是小批量的,大批量的数据可以移步Mahout和Hadoop了。

立即学习“Python免费学习笔记(深入)”;

# 随机生成500个二维[0,1)平面点dataset = np.random.rand(500, 2)