skfolio.cluster.层次聚类#

class skfolio.cluster.HierarchicalClustering(max_clusters=None, linkage_method=WARD)[来源]#

层次聚类。

Parameters:
max_clustersint, optional

对于连贯的聚类,算法找到一个最小阈值 r,以使得 同一扁平聚类中任何两个原始观察值之间的共线距离不超过 r,同时形成的扁平聚类不超过 max_clusters 个。 默认值 (None) 是基于二阶差分到间隙统计量的最大聚类数进行估计 [1]

linkage_methodLinkageMethod, default=LinkageMethod.WARD

计算链接矩阵中簇之间距离的方法。请参阅Linkage Methods部分,了解scipy.cluster.hierarchy.linkage的完整描述。默认是Ward方差最小化算法LinkageMethod.WARD

Attributes:
n_clusters_int

形成的聚类数量。

labels_ndarray of shape (n_assets,)

每个资产的标签。

linkage_matrix_ndarray of shape (n_assets - 1, 4)

distance_estimator的距离矩阵计算得出的连接矩阵。

condensed_distance_ndarray of shape (\binom{n_assets}{2}, )

一维压缩距离矩阵。

n_features_in_int

fit期间看到的资产数量。

feature_names_in_ndarray of shape (n_features_in_,)

fit期间看到的资产名称。只有当X具有所有为字符串的资产名称时才定义。

参考文献

[1]

“二阶差分在间隙统计中的应用”。 Yue, Wang & Wei (2009)

方法

fit(X[, y])

拟合层次等风险贡献估计器。

fit_predict(X[, y])

X 进行聚类并返回聚类标签。

get_metadata_routing()

获取此对象的元数据路由。

get_params([deep])

获取此估计器的参数。

plot_dendrogram([heatmap])

绘制树状图。

set_params(**params)

设置此估计器的参数。

fit(X, y=None)[来源]#

拟合层次等风险贡献估计器。

Parameters:
Xarray-like of shape (n_assets, n_assets)

资产的距离矩阵。

yIgnored

未使用,按照约定为API一致性而存在。

Returns:
selfHierarchicalClustering

拟合的估计器。

fit_predict(X, y=None, **kwargs)#

X执行聚类并返回聚类标签。

Parameters:
Xarray-like of shape (n_samples, n_features)

输入数据。

yIgnored

未使用,按照约定为API一致性而存在。

**kwargsdict

要传递给 fit 的参数。

在版本 1.4 中添加。

Returns:
labelsndarray of shape (n_samples,), dtype=np.int64

集群标签。

get_metadata_routing()#

获取这个对象的元数据路由。

请查看 用户指南 了解路由机制是如何工作的。

Returns:
routingMetadataRequest

一个 MetadataRequest 封装路由信息。

get_params(deep=True)#

获取此估计器的参数。

Parameters:
deepbool, default=True

如果为真,将返回此估计器及其包含的子对象的参数,这些子对象也是估计器。

Returns:
paramsdict

参数名称映射到它们的值。

plot_dendrogram(heatmap=True)[来源]#

绘制树状图。

蓝色线条表示由单一资产组成的不同集群。其余颜色表示由多个资产组成的集群。

heatmap 设置为 True 时,重新排序的距离矩阵的热图显示在树状图下方,簇用黄色方框标出。

图中使用的聚类数与n_clusters_属性相同(如果存在),否则使用默认数量,相应于距离超过最大聚类距离的70%的聚类数。

Parameters:
heatmapbool, default=True

如果将其设置为 True,则返回带有用黄色标出聚类的距离热图。

Returns:
figFigure

树状图。

set_params(**params)#

设置该估计器的参数。

该方法适用于简单估计器以及嵌套对象(如 Pipeline)。后者具有 <component>__<parameter> 形式的参数,因此可以更新嵌套对象的每个组件。

Parameters:
**paramsdict

估计器参数。

Returns:
selfestimator instance

估计器实例。