层次聚类 AGNES

一、基本代码

sklearn.cluster.AgglomerativeClustering(n_clusters=2, *, affinity='euclidean',memory=None, connectivity=None, compute_full_tree='auto', linkage='ward',distance threshold=None, compute_distances=False)

参数说明

(1)n_clusters:聚类结果中簇的个数,默认值为2;
(2)affinity:表示距离度量的字符串,默认值为'euclidean';
(3)linkage:选用的距离标准,{'ward','complete','average''single'},:'wrad'指按照最小方差合并簇,'complete','average','single'分别代表按照最大距离、平均距离和最小距离计算簇之间的距离。

属性说明

(1)n_clusters _: int,算法得出的簇的数目。
(2) labels _: ndarray of shape(n_samples),每一个点的簇标记。
(3) n_leaves _: int, Number of leaves in the hierarchical tree.

举例:鸢尾花

from sklearn import datasets
from sklearn.cluster import AgglomerativeClustering
import matplotlib.pyplot as plt
from sklearn.metrics import confusion_matrix
import pandas as pd

# 加载鸢尾花数据集
iris = datasets.load_iris()
irisdata = iris.data  # 取出数据部分

# 使用AgglomerativeClustering进行聚类
clustering = AgglomerativeClustering(linkage='ward', n_clusters=3)  # 创建聚类器,使用ward链接方法,设定聚类为3个簇
res = clustering.fit(irisdata)  # 对数据进行聚类

# 输出每个簇的样本数目
print("各个簇的样本数目:")
print(pd.Series(clustering.labels_).value_counts())  # 将聚类结果转化为Series并统计每个簇的样本数目

# 输出聚类结果的混淆矩阵
print("聚类结果:")
print(confusion_matrix(iris.target, clustering.labels_))  # 计算并输出混淆矩阵

# 可视化聚类结果
plt.figure()

# 绘制第一个簇的数据点
d0 = irisdata[clustering.labels_ == 0]
plt.plot(d0[:, 0], d0[:, 1], 'r.', label='Cluster 0')  # 用红色的点表示第一个簇

# 绘制第二个簇的数据点
d1 = irisdata[clustering.labels_ == 1]
plt.plot(d1[:, 0], d1[:, 1], 'go', label='Cluster 1')  # 用绿色的圆圈表示第二个簇

# 绘制第三个簇的数据点
d2 = irisdata[clustering.labels_ == 2]
plt.plot(d2[:, 0], d2[:, 1], 'b*', label='Cluster 2')  # 用蓝色的星号表示第三个簇

# 设置图形的标签和标题
plt.xlabel("Sepal.Length")  # X轴标签
plt.ylabel("Sepal.Width")  # Y轴标签
plt.title("AGNES Clustering")  # 图形标题
plt.legend()  # 显示图例
plt.show()  # 展示图形

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值