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

如何绘制MNIST数据集(或含10个预测维度的其他数据集)的预测结果?

10维预测向量转3D可视化的实用方法

一、通用降维算法(直接映射)

  • PCA(主成分分析):最省心的线性降维方案,能最大程度保留数据的核心差异。操作步骤:

    1. 把所有样本的10维预测向量整理成一个N×10的矩阵(N是样本总数)
    2. 可选:如果各维度数值范围差异大,对矩阵做标准化处理
    3. 用PCA工具(比如sklearn里的sklearn.decomposition.PCA)将矩阵降到3维,每个样本就能得到对应的(x,y,z)坐标
    4. 直接用你已有的3D绘图代码渲染这些点即可
      要是你的预测向量是softmax输出的概率(每个维度都在0-1之间),标准化步骤可以省略。
  • t-SNE:适合数据存在非线性聚类结构的场景,能把相似样本在3D空间里聚到一起,不同类样本拉开距离。唯一缺点是计算量比PCA大,样本量太大时速度会慢。用法和PCA一致,输入10维向量后直接输出3维坐标用于绘图。

二、自定义类别映射(贴合业务逻辑)

因为你的向量是10类的预测结果,完全可以自己制定映射规则,让3维坐标的含义更直观:

  • 分组加权求和:把10个类别按语义关联分成3组,每组对应一个3维分量。比如分类是动物的话,将哺乳动物归为一组计算x值,鸟类归为一组计算y值,爬行动物归为一组计算z值,每组内的类别置信度相加就是对应坐标值。这样每个坐标分量都有实际意义,看3D图时能直接对应到类别组的预测倾向。
  • 硬分类固定坐标:如果只关心最终预测的类别(取置信度最高的那个),可以给每个类别分配一个唯一的3D点。比如类1对应(1,0,0),类2对应(0,1,0),类3对应(0,0,1),剩余类别用(1,1,0)、(1,0,1)这类组合,10个类别足够分配。这样相同类别的样本会落在同一个点上,能一眼看出各类别的分布数量。

三、模型嵌入学习(适配深度学习场景)

如果用的是深度学习模型,可以在训练时添加一个3维嵌入层,让模型自主学习将10维预测向量映射到3维空间,同时约束同类样本的嵌入点距离更近、不同类的更远。这种方法需要修改模型结构,但可视化结果会更贴合模型的决策逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 14:06:24