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

如何将LSTM情感分类的预测标签、真实标签及推文导出为CSV文件

解决方案

你需要对原有代码的数据集拆分、预测结果处理、导出逻辑3部分进行调整,具体修改如下:

1. 提前定义标签映射关系

在标签编码的代码段后新增映射字典,方便后续数值标签转文本标签:

label_map = {0: 'anger', 1: 'fear', 2: 'joy', 3: 'sadness'}

2. 调整数据集拆分逻辑

原有拆分仅保留了模型输入特征和标签,需要同步拆分原始数据集拿到测试集对应的推文内容,使用相同的random_state保证顺序完全对应:

# 原有特征、标签拆分逻辑不变
X_train, X_test, y_train, y_test = train_test_split(tweets,labels, test_size=0.25, random_state=0)
# 新增:同步拆分原始数据集,获取测试集对应的原始推文和真实标签
_, test_raw_df = train_test_split(df, test_size=0.25, random_state=0)

3. 处理预测结果并导出完整CSV

在拿到predictions预测概率后,新增标签转换逻辑,拼接所有需要的字段后导出:

# 转换预测、真实数值标签为文本标签
pred_numeric = np.argmax(predictions, axis=1)
pred_labels = [label_map[i] for i in pred_numeric]
true_numeric = np.argmax(y_test, axis=1)
true_labels = [label_map[i] for i in true_numeric]

# 构建导出用DataFrame
export_result = pd.DataFrame()
# 加入推文内容
export_result['clean_tweet_no_stop'] = test_raw_df['clean_tweet_no_stop'].values
# 加入真实分类标签
export_result['true_label'] = true_labels
# 加入模型预测分类标签
export_result['pred_label'] = pred_labels
# 可选:保留四类情感的预测概率,不需要可删除以下4行
export_result['prob_anger'] = predictions[:,0]
export_result['prob_fear'] = predictions[:,1]
export_result['prob_joy'] = predictions[:,2]
export_result['prob_sadness'] = predictions[:,3]

# 导出CSV,使用utf-8-sig编码避免阿拉伯语内容乱码
export_result.to_csv('full_prediction.csv', index=False, encoding='utf-8-sig')

注意事项

原有代码中加载模型的变量名为model,但后续评估、预测用的是model1,请注意统一变量名避免运行报错。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.22 05:36:00