You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将聚类预测结果字典转换为标签数组以计算算法准确率

解决方案

实现思路

核心逻辑是先建立样本和预测标签的映射关系,再按原始数组X的顺序匹配得到对应标签:

  • 遍历预测结果字典Z,将每个样本转为可哈希的元组格式,和对应预测标签绑定存储为映射表
  • 按X的样本顺序逐个查询映射表,拼接得到和X顺序完全对齐的标签数组y_pred

代码实现

基础版(样本无浮点精度误差时使用)

如果Z中的样本完全和X中的样本数值一致,直接用该版本即可:

import numpy as np

# 构造样本到标签的映射表
sample_to_label = {}
for pred_label, samples in Z.items():
    for sample in samples:
        # 数组转元组后可作为字典键
        sample_to_label[tuple(sample)] = pred_label

# 按X的顺序生成预测标签数组
y_pred = [sample_to_label[tuple(x)] for x in X]
print(y_pred)
# 输出结果:[1, 3, 2, 3, 1, 2],和要求的格式一致

鲁棒版(兼容浮点精度误差场景)

如果因为计算过程中产生浮点精度误差,导致样本数值不完全匹配,可以用numpy.allclose做近似匹配:

import numpy as np

y_pred = []
for x in X:
    for pred_label, samples in Z.items():
        # 匹配当前样本对应标签
        if any(np.allclose(x, s) for s in samples):
            y_pred.append(pred_label)
            break
print(y_pred)

内容的提问来源于stack exchange,提问作者Thomas Iskandar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 01:45:02