RandIndex#
- RandIndex(use_loc=True)[source]#
分段 Rand Index 指标。
用于比较两个分段的 Segmentation Rand Index (SRI) 是聚类 Rand Index (RI) 的集成版本。它衡量同一时间序列的两个分段之间的相似性,其中每个分段都是一系列非重叠的片段。
它的取值范围在 0 到 1 之间,其中 1 表示分段完全相同。
定性地说,Segmentation Rand Index (SRI) 可以从聚类 Rand Index (RI) 中获得,方法是
将片段解释为沿着索引或时间轴的簇。
沿着该轴计算成对的“一致性”(相同与不同)。
数学定义如下。
为了清楚起见,我们先定义聚类 Rand Index (RI)
n 个元素的两个聚类之间的 Rand Index (RI) 定义为
\[RI = (a + b) / (a + b + c + d),\]其中
a = 在两个分段中都位于同一簇的对数
b = 在两个分段中都位于不同簇的对数
c = 在第一个分段中位于同一簇但在第二个分段中位于不同簇的对数
d = 在第一个分段中位于不同簇但在第二个分段中位于同一簇的对数
Segmentation Rand Index (SRI) 定义如下
对于从时间索引 \(S \in \mathbb{R}\) 开始并在时间索引 \(T \in \mathbb{R}\) 结束的时间序列,设
\(a: [S, T] \rightarrow \mathbb{N}\) 为第一个分段,\(b: [S, T] \rightarrow \mathbb{N}\) 为第二个分段。
设 \(\mathbb{I}(s_1, s_2, t_1, t_2)\) 为指示函数,当且仅当以下至少一项成立时为 1,否则为 0
\(s_1 = s_2\) 且 \(t_1 = t_2\)
\(s_1 \neq s_2\) 且 \(t_1 \neq t_2\)
则 SRI 定义为
\[SRI = \frac{1}{T-S} \int_S^T \int_S^T \mathbb{I}(a(s), a(t), b(s), b(t)) ds dt\]默认情况下,如果提供了
X
,则此指标通过查找X.index
中的对应标签来计算基于 loc 的距离。否则,或如果use_loc=False
,则使用基于 iloc 的索引。如果在 y_true/y_pred 中存在现有的“label”列,则直接使用这些标签进行匹配;否则,片段被视为连续编号,从 0 开始。