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

如何查看情感分类神经网络识别错误的文本?代码运行报错求助

找出情感分类模型误判的文本

嘿,我来帮你搞定找出模型误判文本的事儿!其实步骤很清晰,咱们一步步来:

第一步:先让模型完成预测

首先你得确保模型已经训练好了(比如你的模型变量叫model),然后用它对目标文本做预测。这里要注意,预测前的文本预处理必须和你训练模型时完全一致(比如分词、转成词向量/TF-IDF特征这些),不然会报错哦。示例代码如下:

# 替换成你自己的预处理函数,比如你训练时用的分词、特征提取逻辑
x_processed = your_preprocess_function(x)
# 获取模型预测结果
y_pred = model.predict(x_processed)

# 如果模型输出的是概率(比如二分类输出0-1之间的数值),要转成和真实标签一致的类别格式
# 二分类场景示例:把概率转成0/1标签
y_pred = (y_pred > 0.5).astype(int)
# 多分类场景示例:取概率最大的类别索引
# y_pred = np.argmax(y_pred, axis=1)

第二步:对比标签,筛选误判样本

把原始文本、真实情感标签、模型预测的标签合并到一个DataFrame里,然后直接筛选出真实标签和预测标签不一致的行就行啦:

import pandas as pd
import numpy as np

# 把数据整合到一起
result_df = pd.DataFrame({
    '评论文本': x,
    '真实情感': y,
    '模型预测情感': y_pred
})

# 筛选出误判的样本
misclassified_samples = result_df[result_df['真实情感'] != result_df['模型预测情感']]

# 直接打印查看,或者保存成CSV方便后续分析
print(misclassified_samples)
misclassified_samples.to_csv('误判样本.csv', index=False)

针对你给出的代码补充说明

你之前合并了训练和测试数据并做了拆分,如果你只想看测试集的误判样本,那就只处理x_test和y_test就行:

# 处理测试集文本
x_test_processed = your_preprocess_function(x_test)
# 测试集预测
y_test_pred = model.predict(x_test_processed)
# 转成和y_test一致的标签格式
y_test_pred = (y_test_pred > 0.5).astype(int)

# 生成测试集误判样本
test_misclassified = pd.DataFrame({
    '评论文本': x_test,
    '真实情感': y_test,
    '模型预测情感': y_test_pred
})[lambda df: df['真实情感'] != df['模型预测情感']]

print(test_misclassified)

你之前自定义函数报错的常见原因

  • 预处理不一致:训练时用了特定的分词器、停用词表或者特征维度,预测时没同步,导致输入模型的特征和训练时不匹配
  • 标签格式不统一:真实标签是字符串(比如'positive'/'negative'),但模型输出是数字(0/1),类型不匹配导致对比失败,记得转成同一格式
  • 索引混乱:合并数据后索引没对齐,记得用reset_index(drop=True)确保所有数据的索引是连续一致的

这样你就能轻松定位到那些被模型误判的文本,还能分析这些样本的共性(比如是不是有大量 slang、拼写错误,或者情感表达很隐晦),帮你优化模型性能~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 04:19:16