美文网首页
聚类算法

聚类算法

作者: AJI米 | 来源:发表于2017-07-27 20:55 被阅读0次

tab不能缩进,简书吃枣药丸
`
class bicluster:
def init(self, vec, left=None, right=None, distance=0.0, id=None):
self.left=left
self.right=right
self.vec=vec
self.id=id
self.distance=distance

def hcluster(rows, distance=pearson):
distances=()
currentclustid = -1
clust = [bicluster(rows[i], id = i) for i in range(len(rows))]

遍历每一个配对,寻找最小距离

while len(clust)>1:
    lowestpair = (0,1)
    closest = distance(clust[0].vec, clust[1].vec)
    for i in range(len(clust)):
        for j in range(i+1, len(clust)):
            if (clust[1].id, clust[j].id) not in distances:
                distances[(clust[i].id,clust[j].id)] = distance(clust[i].vec, clust[j].vec)
            d = distances[(clust[i].id, clust[j].id)]
            if d < closest:
                closest = d
                lowestpair = (i,j)

计算两个聚类的平均值

    mergevec=[(clust[lowestpair[0]].vec[i]+clust[lowestpair[1]].vec[i])/2.0 for i in             range(len(clust[0].vec))]

建立新的聚类

    newcluster = bicluster(mergevec,left=clust(lowestpair[0]],right = clust[lowestpair[1]], distance = closest, id = currentclustid)

不在原始集合中的聚类,其id为负数

    currentclustid-=1
    del clust[lowestpair[1]]
    del clust[lowestpair[0]]
    clust.append(newcluster)
return clust[0]

调用:

import clusters
blognames,words,data = clusters.readfile
clust = clusters.hcluster(data)

vec是什么?

markdown格式有毒(

相关文章

  • Clustering

    本文结构安排 经典聚类算法:线性聚类 Kmeans 经典聚类算法:非线性聚类 DBSCAN、谱聚类 新兴聚类算法:...

  • 11 聚类算法 - 密度聚类 - DBSCAN、MDCA

    09 聚类算法 - 层次聚类10 聚类算法 - 代码案例四 - 层次聚类(BIRCH)算法参数比较 七、密度聚类概...

  • 07 聚类算法 - 代码案例三 - K-Means算法和Mini

    03 聚类算法 - K-means聚类04 聚类算法 - 代码案例一 - K-means聚类05 聚类算法 - 二...

  • 06 聚类算法 - 代码案例二 - K-Means算法和Mini

    03 聚类算法 - K-means聚类04 聚类算法 - 代码案例一 - K-means聚类05 聚类算法 - 二...

  • 大数据--聚类算法

    本篇结构 简介 聚类算法的分类 K-Means聚类算法 DBSCAN聚类算法 本篇介绍了聚类算法的种类,重点关注K...

  • 聚类算法

    #聚类算法 标签(空格分隔): 机器学习 聚类算法 --- ###聚类算法的原理 无监督算法,相似的样本自动归...

  • 聚类算法k-means

    聚类算法 聚类算法 是 无监督学习 聚类算法有特征,无标签,是无监督分类。 sklearn 聚类模块 cluste...

  • 13 聚类算法 - 谱聚类

    11 聚类算法 - 密度聚类 - DBSCAN、MDCA12 聚类算法 - 代码案例五 - 密度聚类(DBSCAN...

  • 无标题文章

    聚类方法整理 标签(空格分隔): 算法学习 聚类算法大类 1. K-Mean 2. 层次聚类算法 3. SOM聚类...

  • 【R语言 第2篇】K-means聚类分析流程

    聚类算法是没用因变量的。聚类算法有层次聚类、基于划分的聚类、两步聚类法、基于密度的聚类。 聚类方法的逻辑 客户细分...

网友评论

      本文标题:聚类算法

      本文链接:https://www.haomeiwen.com/subject/nndtlxtx.html