聚类算法包括哪些,聚类算法是干嘛的

  聚类算法包括哪些,聚类算法是干嘛的

  说明

  1.聚类常用于数据探索或挖掘的前期,在没有先验经验的情况下进行探索性分析。

  它也适用于大样本数据的预处理。

  2.常用的聚类算法分为基于划分、层次、密度、网格、统计、模型等算法。典型的算法有k-means(经典聚类算法)、DBSCAN、两步聚类等。

  聚类分析可以解决的问题包括:数据集可以分成几个类别,每个类别有多少个样本,不同类别中每个变量的强弱关系,不同类别的典型特征是什么。

  聚类算法之K均值实例

  importnumpyasnp

  importmatplotlib.pyplotasplt

  #两点之间的距离

  定义距离(e1,e2):

  returnnp . sqrt((E1[0]-E2[0])* * 2(E1[1]-E2[1])* * 2)

  #聚集中心

  定义方式(arr):

  returnnp . array([NP . mean([e[0]foreinarr]),np.mean([e[1]foreinarr])])

  #arr中距离A最远的元素,用于初始化聚类中心

  def further(k _ arr,arr):

  f=[0,0]

  max_d=0

  foreinarr:

  d=0

  foriinrange(k_arr。__len__()):

  d=d np.sqrt(距离(k_arr[i],e))

  ifdmax_d:

  最大值d=d

  f=e

  returnf

  #arr中最接近A的元素,用于聚类

  defclosest(a,arr):

  c=arr[1]

  min _ d=距离(a,arr[1])

  arr=arr[1:]

  foreinarr:

  d=距离(a,e)

  ifdmin_d:

  不间断空格

  ;min_d=d

  c=e

  returnc

  

  

  if__name__=="__main__":

  ##生成二维随机坐标,手上有数据集的朋友注意,理解arr改起来就很容易了

  ##arr是一个数组,每个元素都是一个二元组,代表着一个坐标

  ##arr形如:[(x1,y1),(x2,y2),(x3,y3)...]

  arr=np.random.randint(100,size=(100,1,2))[:,0,:]

  

  ##初始化聚类中心和聚类容器

  m=5

  r=np.random.randint(arr.__len__()-1)

  k_arr=np.array([arr[r]])

  cla_arr=[[]]

  foriinrange(m-1):

  k=farthest(k_arr,arr)

  k_arr=np.concatenate([k_arr,np.array([k])])

  cla_arr.append([])

  

  ##迭代聚类

  n=20

  cla_temp=cla_arr

  foriinrange(n):#迭代n次

  foreinarr:#把集合里每一个元素聚到最近的类

  ki=0#假定距离第一个中心最近

  min_d=distance(e,k_arr[ki])

  forjinrange(1,k_arr.__len__()):

  ifdistance(e,k_arr[j])<min_d:#找到更近的聚类中心

  min_d=distance(e,k_arr[j])

  ki=j

  cla_temp[ki].append(e)

  #迭代更新聚类中心

  forkinrange(k_arr.__len__()):

  ifn-1==i:

  break

  k_arr[k]=means(cla_temp[k])

  cla_temp[k]=[]

  

  ##可视化展示

  col=['HotPink','Aqua','Chartreuse','yellow','LightSalmon']

  foriinrange(m):

  plt.scatter(k_arr[i][0],k_arr[i][1],linewidth=10,color=col[i])

  plt.scatter([e[0]foreincla_temp[i]],[e[1]foreincla_temp[i]],color=col[i])

  plt.show()

以上就是python聚类算法的介绍,希望对大家有所帮助。更多Python学习指路:python基础教程

  

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: