资源简介

层次聚类(AGNES)算法(Python) 是聚类算法的一种,通过计算不同类别数据点间的相似度来创建一棵有层次的嵌套聚类树。在聚类树中,不同类别的原始数据点是树的最低层,树的顶层是一个聚类的根节点。AGNES是常用的一种层次聚类算法 使用场景:用于簇的数量较多,有连接约束等情况

资源截图

代码片段和文件信息

# -*- coding: utf-8 -*-
“““
    AgglomerativeClustering

“““
from sklearn import  cluster
from sklearn.metrics import adjusted_rand_score
import matplotlib.pyplot as plt

def test_AgglomerativeClustering(*data):
    ‘‘‘
    测试 AgglomerativeClustering 的用法

    :param data: 可变参数。它是一个元组。元组元素依次为:第一个元素为样本集,第二个元素为样本集的真实簇分类标记
    :return: None
    ‘‘‘
    Xlabels_true=data
    clst=cluster.AgglomerativeClustering()
    predicted_labels=clst.fit_predict(X)
    print(“ARI:%s“% adjusted_rand_score(labels_truepredicted_labels))
def test_AgglomerativeClustering_nclusters(*data):
    ‘‘‘
    测试 AgglomerativeClustering 的聚类结果随 n_clusters 参数的影响

    :param data:  可变参数。它是一个元组。元组元素依次为:第一个元素为样本集,第二个元素为样本集的真实簇分类标记
    :return: None
    ‘‘‘
    Xlabels_true=data
    nums=range(150)
    ARIs=[]
    for num in nums:
        clst=cluster.AgglomerativeClustering(n_clusters=num)
        predicted_labels=clst.fit_predict(X)
        ARIs.append(adjusted_rand_score(labels_truepredicted_labels))

    ## 绘图
    fig=plt.figure()
    ax=f

评论

共有 条评论