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


Python sklearn FeatureAgglomeration用法及代码示例


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

用法:

class sklearn.cluster.FeatureAgglomeration(n_clusters=2, *, affinity='euclidean', memory=None, connectivity=None, compute_full_tree='auto', linkage='ward', pooling_func=<function mean>, distance_threshold=None, compute_distances=False)

聚合特征。

递归地合并一对特征集群。

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

参数

n_clusters整数,默认=2

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

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

用于计算链接的度量。可以是“euclidean”、“l1”、“l2”、“manhattan”, “cosine” 或‘precomputed’。如果链接是“ward”,则只接受“euclidean”。

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”

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

  • “ward” 最小化被合并的集群的方差。
  • “complete” 或最大链接使用两组所有特征之间的最大距离。
  • “average” 使用两组每个特征的距离的平均值。
  • “single” 使用两组所有特征之间距离的最小值。
pooling_func可调用,默认=np.mean

这会将聚集特征的值组合成一个值,并且应该接受一个形状为 [M, N] 的数组和关键字参数 axis=1 ,并将其缩减为一个大小为 [M] 的数组。

distance_threshold浮点数,默认=无

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

compute_distances布尔,默认=假

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

属性

n_clusters_int

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

labels_(n_features,) 的类似数组

每个特征的聚类标签。

n_leaves_int

层次树中的叶子数。

n_connected_components_int

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

n_features_in_int

拟合期间看到的特征数。

feature_names_in_ndarray 形状(n_features_in_,)

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

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

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

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

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

例子

>>> import numpy as np
>>> from sklearn import datasets, cluster
>>> digits = datasets.load_digits()
>>> images = digits.images
>>> X = np.reshape(images, (len(images), -1))
>>> agglo = cluster.FeatureAgglomeration(n_clusters=32)
>>> agglo.fit(X)
FeatureAgglomeration(n_clusters=32)
>>> X_reduced = agglo.transform(X)
>>> X_reduced.shape
(1797, 32)

相关用法


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