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_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
估计器实例。