news 2026/4/8 10:20:02

多模型统一导出 t-SNE 可视化数据的工程实践(1DCNN / DAN / DNN / DRN / Transformer)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
多模型统一导出 t-SNE 可视化数据的工程实践(1DCNN / DAN / DNN / DRN / Transformer)

多模型统一导出 t-SNE 可视化数据的工程实践(1DCNN / DAN / DNN / DRN / Transformer)

一、写在前面:为什么要“统一导出 t-SNE 数据”

在深度学习故障识别与特征分析中,t-SNE 可视化是最常用的手段之一,用于直观展示:

  • 不同类别样本在特征空间中的聚类情况;
  • 不同模型特征提取能力的差异;
  • 真实标签与预测标签下特征分布的一致性或偏差。

但在实际工程中,随着模型数量增多(如1DCNN、DAN、DNN、DRN、Transformer、SNN等),如果每个模型单独随意写一段 t-SNE 代码,后期会面临:

  • 文件命名混乱;
  • 特征层含义不统一;
  • 可视化结果难以横向对比;
  • 论文作图时重复返工。

因此,我在实验中采用了**“统一导出 t-SNE 数据 → Excel 保存 → 后处理绘图”**的方式,对不同模型的特征与预测结果进行规范化整理。


二、整体设计思路

所有模型的 t-SNE 导出逻辑统一遵循两类数据

(1)特征层 t-SNE(按真实标签)

用于分析模型特征提取能力

原始输入 → 特征层输出 → t-SNE → Class = Y_test

(2)预测结果 t-SNE(按预测标签)

用于分析模型判别边界与误分类情况

预测结果 XY → t-SNE → Class = y_pred

最终统一导出为 Excel 文件,便于:

  • Python / MATLAB / Origin / Excel 作图;
  • 论文中统一配色与版式;
  • 多模型对比分析。

三、1DCNN-SNN 模型的 t-SNE 导出示例

1️⃣ 特征层输出(真实标签)

tsne=TSNE(n_components=2,perplexity=30,random_state=42)X_tsne=tsne.fit_transform(features_test.numpy())tsne_df=pd.DataFrame(X_tsne,columns=['t-SNE Feature 1','t-SNE Feature 2'])tsne_df['Class']=Y_test.numpy()tsne_df.to_excel('./1DCNN-SNN预测图表/tSNE_features.xlsx',index=False)

2️⃣ 预测结果 t-SNE(预测标签)

xy_data=pd.read_excel('./1DCNN-SNN预测图表/预测-XY.xlsx').values tsne2=TSNE(n_components=2,perplexity=30,random_state=42)X_tsne2=tsne2.fit_transform(xy_data[:,:-1])tsne2_df=pd.DataFrame(X_tsne2,columns=['t-SNE Feature 1','t-SNE Feature 2'])tsne2_df['Class']=xy_data[:,-1]tsne2_df.to_excel('./1DCNN-SNN预测图表/tSNE_predicted_XY.xlsx',index=False)

四、标准 1DCNN 模型(Flatten 特征)

与 SNN 不同,标准 1DCNN 更关注Flatten 后的高维特征表示

tsne=TSNE(n_components=2,perplexity=30,random_state=42)X_tsne=tsne.fit_transform(features_test.numpy())tsne_df=pd.DataFrame(X_tsne,columns=['t-SNE Feature 1','t-SNE Feature 2'])tsne_df['Class']=Y_test.numpy()tsne_df.to_excel('./1DCNN预测图表/tSNE_flatten_features.xlsx',index=False)

预测-XY 部分与前述方法完全一致,仅目录不同。


五、DAN 模型(编码特征)

DAN(Deep Autoencoder Network)通常分析编码器输出特征

tsne=TSNE(n_components=2,perplexity=30,random_state=42)X_tsne=tsne.fit_transform(encoded_features.numpy())tsne_df=pd.DataFrame(X_tsne,columns=['t-SNE Feature 1','t-SNE Feature 2'])tsne_df['Class']=Y_test.numpy()tsne_df.to_excel('./DAN预测图表/tSNE_encoded_features.xlsx',index=False)

六、DNN 模型(隐藏层特征)

对于 DNN,更有意义的是分析倒数隐藏层输出

_,test_features_output=model(X_test)tsne=TSNE(n_components=2,perplexity=30,random_state=42)X_tsne=tsne.fit_transform(test_features_output.detach().numpy())tsne_df=pd.DataFrame(X_tsne,columns=['t-SNE Feature 1','t-SNE Feature 2'])tsne_df['Class']=Y_test.numpy()tsne_df.to_excel('./DNN预测图表/tSNE_hidden_features.xlsx',index=False)

七、DRN 模型(特征层输出)

DRN(深度残差网络)同样遵循统一接口:

tsne=TSNE(n_components=2,perplexity=30,random_state=42)X_tsne=tsne.fit_transform(features_test.numpy())tsne_df=pd.DataFrame(X_tsne,columns=['t-SNE Feature 1','t-SNE Feature 2'])tsne_df['Class']=Y_test.numpy()tsne_df.to_excel('./DRN预测图表/tSNE_features.xlsx',index=False)

八、Transformer 模型(真实 / 预测双视角)

Transformer 模型中,编码器隐藏特征尤为重要,因此分别导出:

1️⃣ 按真实标签

tsne=TSNE(n_components=2,init='pca',random_state=0)x_feature_tsne=tsne.fit_transform(x_feature.cpu().numpy())tsne_hidden_df=pd.DataFrame(x_feature_tsne,columns=['t-SNE Feature 1','t-SNE Feature 2'])tsne_hidden_df['Class']=Y_test.cpu().numpy()tsne_hidden_df.to_excel('./Transformer预测图表/tSNE_hidden_features.xlsx',index=False)

2️⃣ 按预测标签

tsne2=TSNE(n_components=2,init='pca',random_state=0)x_feature_tsne_pred=tsne2.fit_transform(x_feature.cpu().numpy())tsne_pred_df=pd.DataFrame(x_feature_tsne_pred,columns=['t-SNE Feature 1','t-SNE Feature 2'])tsne_pred_df['Class']=y_pred_test_label.cpu().numpy()tsne_pred_df.to_excel('./Transformer预测图表/tSNE_predicted_XY.xlsx',index=False)

九、结语

需要说明的是,本文中涉及的 1DCNN、DAN、DNN、DRN、Transformer 等深度学习方法仅作为模型名称出现,用于区分不同特征提取结构下的 t-SNE 可视化结果。具体网络结构、训练流程及实现代码需根据实际任务自行编写或参考原始文献,本文未给出完整模型实现。

本文的重点在于如何在多模型对比实验中,统一整理并导出各类特征层与预测结果的 t-SNE 数据,以便于后续可视化分析和论文作图。相关代码主要用于展示 t-SNE 数据整理思路,而非深度学习模型的复现示例。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/9 1:08:01

PaddleOCR一键部署教程:基于PaddlePaddle镜像的高效文字识别方案

PaddleOCR一键部署教程:基于PaddlePaddle镜像的高效文字识别方案 在智能制造、金融票据处理和物流信息提取等实际场景中,企业常常面临一个共同挑战:如何快速、准确地从复杂图像中提取中文文本。传统OCR工具如Tesseract在面对模糊字体、不规则…

作者头像 李华
网站建设 2026/4/8 21:48:59

ModelScope:打破AI开发壁垒的智能革命

传统AI开发面临诸多困境:模型获取困难、环境配置复杂、技术门槛高企。无数开发者在海量的模型选择、繁琐的环境搭建、晦涩的算法实现面前望而却步。这种技术壁垒严重制约了AI技术的普及应用。 【免费下载链接】modelscope ModelScope: bring the notion of Model-as…

作者头像 李华
网站建设 2026/3/26 22:12:22

Realtek RTL8192FU Linux USB无线网卡驱动完整解决方案

Realtek RTL8192FU Linux USB无线网卡驱动完整解决方案 【免费下载链接】rtl8192fu Realtek 8192FU Linux USB无线网卡驱动 项目地址: https://gitcode.com/gh_mirrors/rt/rtl8192fu 面对Realtek RTL8192FU芯片USB无线网卡在Linux系统上的兼容性问题,这个开源…

作者头像 李华
网站建设 2026/4/7 14:28:22

前端图表新纪元:maxGraph如何重新定义你的可视化体验?

前端图表新纪元:maxGraph如何重新定义你的可视化体验? 【免费下载链接】maxGraph maxGraph is a fully client side JavaScript diagramming library 项目地址: https://gitcode.com/gh_mirrors/ma/maxGraph 还在为复杂的图表需求而烦恼吗&#x…

作者头像 李华
网站建设 2026/3/26 8:59:26

AI设计工具革命:Photoshop插件如何让创意效率提升300%

AI设计工具革命:Photoshop插件如何让创意效率提升300% 【免费下载链接】Auto-Photoshop-StableDiffusion-Plugin A user-friendly plug-in that makes it easy to generate stable diffusion images inside Photoshop using either Automatic or ComfyUI as a backe…

作者头像 李华
网站建设 2026/4/8 5:41:05

抖音去水印视频下载终极指南:F2开源工具完整使用教程

抖音去水印视频下载终极指南:F2开源工具完整使用教程 【免费下载链接】TikTokDownload 抖音去水印批量下载用户主页作品、喜欢、收藏、图文、音频 项目地址: https://gitcode.com/gh_mirrors/ti/TikTokDownload 想要轻松下载无水印的抖音视频吗?F…

作者头像 李华