当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python sklearn AgglomerativeClustering用法及代码示例


本文简要介绍python语言中 sklearn.cluster.AgglomerativeClustering 的用法。

用法:

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

凝聚聚类。

递归合并样本数据对的集群;使用链接距离。

在用户指南中阅读更多信息。

参数

n_clustersint 或无,默认=2

要查找的集群数。如果 distance_threshold 不是 None ,则它必须是 None

affinitystr 或可调用,默认='euclidean'

用于计算链接的度量。可以是“euclidean”、“l1”、“l2”、“manhattan”, “cosine” 或“precomputed”。如果链接为“ward”,则仅接受“euclidean”。如果“precomputed”,则需要距离矩阵(而不是相似度矩阵)作为拟合方法的输入。

memory带有joblib.Memory 接口的str 或对象,默认=None

用于缓存树计算的输出。默认情况下,不进行缓存。如果给出一个字符串,它是缓存目录的路径。

connectivity类似数组或可调用,默认=无

连接矩阵。为每个样本定义遵循给定数据结构的相邻样本。这可以是连接矩阵本身或将数据转换为连接矩阵的可调用对象,例如从 kneighbors_graph 派生的。默认值为 None ,即层次聚类算法是非结构化的。

compute_full_tree‘auto’ 或布尔值,默认='auto'

n_clusters 处尽早停止树的构建。如果集群的数量与样本数量相比不小,这对于减少计算时间很有用。此选项仅在指定连接矩阵时有用。还要注意,当改变集群的数量并使用缓存时,计算完整的树可能是有利的。如果 distance_threshold 不是 None ,则它必须是 True 。默认情况下 compute_full_tree 为 “auto”,当 distance_threshold 不是 Nonen_clusters 低于 100 或 0.02 * n_samples 之间的最大值时,它等效于 True。否则,“auto” 等价于 False

linkage{‘ward’, ‘complete’, ‘average’, ‘single’},默认='病房'

使用哪个链接标准。链接标准确定在观察集之间使用哪个距离。该算法将合并使该标准最小化的集群对。

  • ‘ward’ 最小化被合并的集群的方差。
  • ‘average’ 使用两组每个观测值的距离平均值。
  • ‘complete’ 或 ‘maximum’ 链接使用两组所有观测值之间的最大距离。
  • ‘single’ 使用两组所有观测值之间距离的最小值。
distance_threshold浮点数,默认=无

链接距离阈值,超过该阈值,集群将不会被合并。如果不是 None ,则 n_clusters 必须是 None 并且 compute_full_tree 必须是 True

compute_distances布尔,默认=假

即使不使用distance_threshold,也会计算集群之间的距离。这可用于进行树状图可视化,但会引入计算和内存开销。

属性

n_clusters_int

算法找到的聚类数。如果 distance_threshold=None ,它将等于给定的 n_clusters

labels_形状的ndarray(n_samples)

每个点的聚类标签。

n_leaves_int

层次树中的叶子数。

n_connected_components_int

图中连接组件的估计数量。

n_features_in_int

拟合期间看到的特征数。

feature_names_in_ndarray 形状(n_features_in_,)

拟合期间看到的特征名称。仅当 X 具有全为字符串的函数名称时才定义。

children_形状类似数组 (n_samples-1, 2)

每个非叶节点的子节点。小于n_samples 的值对应于作为原始样本的树的叶子。大于或等于 n_samples 的节点 i 是非叶节点,并且具有子节点 children_[i - n_samples] 。或者在 i-th 迭代中,children[i][0] 和 children[i][1] 合并形成节点 n_samples + i

distances_形状类似数组 (n_nodes-1,)

children_ 中对应位置的节点之间的距离。仅在使用 distance_thresholdcompute_distances 设置为 True 时计算。

例子

>>> from sklearn.cluster import AgglomerativeClustering
>>> import numpy as np
>>> X = np.array([[1, 2], [1, 4], [1, 0],
...               [4, 2], [4, 4], [4, 0]])
>>> clustering = AgglomerativeClustering().fit(X)
>>> clustering
AgglomerativeClustering()
>>> clustering.labels_
array([1, 1, 1, 0, 0, 0])

相关用法


注:本文由纯净天空筛选整理自scikit-learn.org大神的英文原创作品 sklearn.cluster.AgglomerativeClustering。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。